首页 > 代码库 > Java注意事项
Java注意事项
1 package stu; 2 3 public class TestStr { 4 /** 5 * @param args 6 */ 7 public static void main(String[] args) { 8 // 虚拟机是将字符串直接量(不用new声明的)对象放到一个对象池中去缓存的, 9 10 // 第一次使用的时候会将其放入池中,11 12 // 如果下次有其他变量访问一摸一样的直接量的话直接从对13 14 // 象池中去取该直接量,而不是又再生成一个对象。一般该池中的对象都不会被垃圾回收器回收。15 16 String s1 = "1";17 String s2 = "1";18 System.out.println(s1 == s2); // true19 20 // 在编译时就能确定的值,在编译的时候就能够确定是否创建新的对象池对象21 String s3 = "zxc123";22 String s4 = "zxc" + 1 + "2" + "3";23 System.out.println(s3 == s4); // true24 25 26 String s5 = "zxc123";27 // 字符串拼接包含了函数,变量等等编译时不确定因素,那么此时就不能指向对象池中的变量了28 String s6 = "zxc" + "1".length() + "2" + "3";29 System.out.println(s5 == s6); // false30 31 String s7 = new String("Hello");32 String s8 = new String("Hello");33 System.out.println(s7 == s8);// false34 35 int num = 1;36 String str = num + (33.567 + "");37 System.out.println(str);// 133.56738 39 int sum = 2;40 sum += 22.56; // 复合运算符本身还隐式的包含了一个强制转型的动作 等价于 sum=(int) (sum+22.56);41 System.out.println(sum); // 2442 43 short m = 32767; // -32768~3276744 m += 1.89; // 符合运算符自身还隐式地包含了一个强制转型的动作这样做有时候会失去精度以及高位段位。45 System.out.println(m); // -3276846 47 System.out.println(11+1l);//11+1L=12;48 49 }50 }
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。