包装类的静态创建对象的值被存在哪里:
public static void main(String[] args) {
Integer ii = 12;
Integer ii1 = 12;
Integer bb1 = 128;
Integer bb2 = 128;
Integer ii2 = 12;
Integer ii3 = new Integer(12);
Integer ii4 = 2 + ii3;
Integer ii5 = 14;
System.out.println(ii == ii1);
System.out.println(bb1 == bb2);
System.out.println(ii2 == ii3);
System.out.println(ii4 == ii5);
}
System.out.println(ii == ii1)输出true
System.out.println(bb1 == bb2)输出false
解释原因看:
http://note.youdao.com/noteshare?
id=a8be3dbfffd785e52443bb892b8
a78f7&sub=A3556D4FD91D4A59B9E4C188FBF9B201 中的:
当包装类被赋予的值超过了byte类型表示的范围时
System.out.println(ii2 == ii3);输出false
System.out.println(ii4 == ii5);输出true
解释原因看:
http://note.youdao.com/noteshare?
id=a8be3dbfffd785e52443bb892b8
a78f7&sub=A3556D4FD91D4A59B9E4C188FBF9B201 中的:
动态创建的只能是new出来的,不是被new出来的
String静态创建对象的值被存在哪里
public static void main(String[] args) {
String ii = "1234";
String ii1 = "1234";
String ii2 = "12" + "34";
String cc = "12";
String mm = "34";
String ii3 = cc + mm;
String bb = new String("12");
String xx = bb + "34";
System.out.println(ii == ii1);
System.out.println(ii == ii2);
System.out.println(ii == ii3);
System.out.println(ii == xx);
}
System.out.println(ii == ii1);输出true
System.out.println(ii == ii2);输出true
System.out.println(ii == ii3);输出false
System.out.println(ii == xx);输出false
解释原因查看:
http://note.youdao.com/noteshare?
id=9446a9685e9c288b87d6d51f7d81c
7bd&sub=127CA62103CC4604BD68B7F494CCFD12 中的:
String 字符串拼接与运行时常量池 以及堆的关系