String和Object類的總結


String常用方法
clone()方法:克隆一個一模一樣的對象,不會影響原對象。
equals()方法:默認是比較兩個對象的地址值
tostring()方法:輸出類的屬性。一般來說輸出的格式是:類名 + @ + 地址值。
 
字符串一旦被賦值,內容就不能改變,但是引用可變。
String s = new String(); //默認構造函數,s什么東西都沒有
byte[] bytes = {97,98,99,100}; //A,B,C,D的哈希碼
 
String s = “hello”;//在方法區中有,就直接返回;無,則創建;
s +=“word”;//s = helloword 在方法區中沒有,要創建。s又是引用另一個地址值
String s2 = new String(bytes); //s2的值為:A,B,C,D
區別:
String s2 = new String(“hello”);//在堆區中,實體放在方法區中的字符串常量值中,在棧區中引用的堆區值則是另外一個地址。
String s1 = “hello”;//棧區中的聲明,直接引用方法區中的地址值,如果有的話,直接返回地址值。
 
Object常用方法
Object的每個實例都具有下列屬性和方法。
      constructor: 保存着用於創建當前對象的函數。例如 var o = new Object(); 它的構造函數就是 Object。
      hasOwnProperty(propertyName): 用於檢查給定的屬性在當前的對象實例中(而不是在實例的原型中)是否存在。其中,作為參數的屬性名(propertyName)必須以字符串的形式指定(例如: o.hasOwnProperty("name"))。
      isPrototypeOf(object): 用於檢查傳入的對象是否是傳入對象的原型。
      propertyIsEnumerable(propertyName): 用於檢查給定的屬性是否能夠使用for-in語句來枚舉。
      toLocaleString(): 返回對象的字符串表示,該字符串與執行環境的地區對應。
      toString():返回對象的字符串表示(null和undefined沒有該方法)。
      valueOf():返回對象的字符串、數值或布爾值表示。通常與toString()方法的返回值相同。
      當對象進行操作符運算時,先調用valueOf方法,如果不存在再調用toString方法,都不存在返回 NaN。
 
Object和String的equals區別
String類的equals比較的是值
Object類的equals比較的是內存地址
==基本數據類型比較的是值
==引用數據類型比較的是地址


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。