java string

来源:互联网 发布:东北证券软件官方下载 编辑:程序博客网 时间:2024/05/29 08:56
public class Day{private static String getA(){return "a";}private static void method1(){String a ="a"+"b"+1;String b ="ab1";System.out.println(a==b);//a,b均为常量,在编译时就已经确定}private static void method2(){String a ="a";final String c ="a";String b =a+"b";String d=c+"b";String e=getA()+"b";String compare ="ab";System.out.println(b==compare);//b中a是变量,虽然初始化为"a"System.out.println(d==compare);//d中c也是变量,但它是final的,所以会认为d是常量System.out.println(e==compare);//e为方法 不会是常量,虽然返回的是常量,编译时不会查看方法,因为有可能返回的是变量System.out.println(a==c);}private static void method3(){String a="a";String b=a+"b";String c="ab";String d = new String(b);System.out.println(b==c);System.out.println(c==d);System.out.println(c==d.intern());//intern方法会在常量池里查找,所以会是相同的常量System.out.println(b.intern()==d.intern());}public static void main(String[] args){method1();method2();method3();}}

 

0 0
原创粉丝点击