---------------------- ASP.Net+Android+IOS開發、.Net教育訓練、期待與您交流! ----------------------
基本資料類型對象包裝類
byte Byte
short Short
int Integer
long Long
char Character
float Float
double Double
基本資料類型轉成字元串類型
基本資料類型.toString(基本資料類型值);
如: Integer.toString(34);//34(字元串)
String.valueOf(34);
問題:為什麼String.valueOf(34)==Integer.toString(34)為false
hashCode和equals雖然都相同,但hashCode并非一定是此對象的記憶體位址值,是以兩個對象不相同,是以為false
字元串轉成基本資料類型
static int parseInt(); //靜态調用方式
int intValue(); //對象調用方式
int a = Integer.parseInt("123");
double b = Double.parseDouble("12.23");
...
boolean b = Boolean.parseBoolean("true");
十進制轉成其他進制:
toBinaryString();
toHexString()
toOctalString();
其他進制轉成十進制:
parseInt(string,radix);
示例:3c(16進制)轉化為十進制 int num = Integer.parseInt("3c",16);
示例:
class IntegerDemo
{
public static void sop(Object obj)
{
System.out.println(obj);
}
public static void main(String[] args)
{
//整數類型的最大值
sop("int類型最大值:"+Integer.MAX_VALUE);
int num = Integer.parseInt("123");
long x = Long.parseLong("123");
sop("num="+(num+4));
sop(Integer.toHexString(60));
int hextoint = Integer.parseInt("3c",16);
sop("16進制3c的10進制:"+hextoint);
}
}
Integer x = new Integer("123");
Integer y = new Integer(123);
return x==y; false 因為是兩個對象
return x.equals(y); true,因為equals方法被Integer覆寫,比的是數值
JDK1.5版本以後出現的新特性:
特性一:
// Integer x = new Integer(4);
Integer x = 4; //自動裝箱 new Integer(4);
x = x+2; //x+2,x進行自動拆箱,變成了int類型,和2進行運算,運算完後,再将和進行裝箱賦給x
int y = 4;
return x==y; //傳回true,就是因為JVM會對其自動拆裝箱
特性二:
Integer m =128;
Integer n =128;
return m==n; //false
Integer m =127; //127是byte取值範圍内
Integer n =127;
return a==b; //true 因為a和b指向了同一個Integer對象,當數值在byte範圍内,對于新特性,如果該數值已存在,則不會再開辟新的空間
---------------------- ASP.Net+Android+IOS開發、.Net教育訓練、期待與您交流! ----------------------詳細請檢視:http://edu.csdn.net