package test;
/**
* 面試題
* @author gaofuzhi
*/
public class IntegerTest {
public static void main(String[] args) {
Integer i1 = new Integer(127);
Integer i2 = new Integer(127);
System.out.println(i1);//127
System.out.println(i2);//127
System.out.println("結(jié)果為:"+(i1+i2));//254
System.out.println("結(jié)果為:"+i1+i2);//結(jié)果為:127127
System.out.println(i1==i2);//false new了 比較的是對(duì)象的地址
System.out.println(i1.equals(i2));//true因?yàn)橹貙懥薕bject中的equals方法逗嫡,所以比較的是值
System.out.println("----------------");
Integer i3 = new Integer(128);
Integer i4 = new Integer(128);
System.out.println(i3==i4);//false 地址
System.out.println(i3.equals(i4));//true? 值
System.out.println("----------------");
Integer i5 = 127;
Integer i6= 127;
System.out.println(i5);//127
System.out.println(i6);//127
System.out.println(i5==i6);//true Cache里存儲(chǔ) 地址
System.out.println(i5.equals(i6));//true 值
System.out.println("----------------");
Integer i7 = 128;
Integer i8 = 128;
//以下輸出為什么會(huì)為false 因?yàn)镮nterger開辟的Cache為-128~127
//所以超過127分別分配了不同的地址 所以為false
System.out.println(i7==i8);//false 地址
System.out.println(i7.equals(i8));//true 值
//Integer.valueOf(i)
}
}
package test;
/**
* //包裝類型--->基本類型? ***value();
* Integer integer = new Integer(21);
* int int1 = integer.intValue();
* //基本類型--->相對(duì)應(yīng)的包裝類型 valueOf();
* Integer? ig = Integer.valueOf(22);
*
*? //將字符串--->基本類型? 基本類型的包裝對(duì)象.parse***();
* //注意除Character外
* //注意類型需要兼容
* int i =Integer.parseInt("5");
* //將包裝對(duì)象的基本類型--->字符串
* String str1 = Integer.toString(21);
* //將包裝對(duì)象的基本類型--->字符串(簡化方法)
* String str4 = 21+"";
* @author gaofuzhi
*/
public class PackageClass {
public static void main(String[] args) {
//包裝類型--->基本類型? ***value();
Integer integer = new Integer(21);
int int1 = integer.intValue();
System.out.println("int1 = "+int1);
Integer integer2 = new Integer("21");
int int2 = integer2.intValue();
System.out.println("int2 = "+int2);
Integer integer3 = new Integer("21");
double double3 = integer3.doubleValue();
System.out.println("double3 = "+double3);
Integer integer4 = new Integer("21");
double float1 = integer4.doubleValue();
System.out.println("float1 = "+float1);
//將包裝對(duì)象的基本類型--->字符串
String str1 = Integer.toString(21);
System.out.println("str1 = "+str1);
//只能為關(guān)鍵字true或false還區(qū)分大小寫
String str2 = Boolean.toString(false);
System.out.println("str2 = "+str2);
String str3 = Character.toString('男');
System.out.println("str3 = "+str3);
//將包裝對(duì)象的基本類型--->字符串(簡化方法)
String str4 = 21+"";
System.out.println("str4 = "+str4);
String str5 = 'm'+"";
System.out.println("str5 = "+str5);
String str6 = false+"";
System.out.println("str6 = "+str6);
//將字符串--->基本類型? 基本類型的包裝對(duì)象.parse***();
//注意除Character外
//注意類型需要兼容
int i =Integer.parseInt("5");
System.out.println("i = "+i);
float f = Float.parseFloat("55");
System.out.println("f = "+f);
//除true(不區(qū)分大小寫)以外的字符串皆為false
boolean b = Boolean.parseBoolean("14");
System.out.println("b = "+b);
//基本類型--->相對(duì)應(yīng)的包裝類型 valueOf();
Integer? ig = Integer.valueOf(22);
System.out.println("ig = "+ig);
Float? f2 = Float.valueOf("22");
System.out.println("f2 = "+f2);
//除true(不區(qū)分大小寫)以外皆為false
Boolean? bo = Boolean.valueOf("tR44ue");
System.out.println("bo = "+bo);
Boolean? bo2 = Boolean.valueOf(false);//關(guān)鍵字全小寫
System.out.println("bo2 = "+bo2);
}
}