15,對於代碼String s1 = new String(“a”);一共創建了幾個對象?
A.0
B.1
C.2
D.3
*/
public class StringDemo1 {
A.0
B.1
C.2
D.3
E.4
正確答案:C
解析:http://blog.csdn.net/yishao_20140413/article/details/23598113
16,
package day01;
/*
/*
*/
public class StringDemo1 {
public static void main(String[] args) {
String s1="123abc";
String s2="123abc";
String s3=new String("123abc");
String s1="123abc";
String s2="123abc";
String s3=new String("123abc");
String s4=new String("123abc");
System.out.println("s1==s2:"+(s1==s2));//true
System.out.println("s1==s3:"+(s1==s3));//false
System.out.println("s1==s2:"+(s1==s2));//true
System.out.println("s1==s3:"+(s1==s3));//false
System.out.println("s3==s4:"+(s3==s4));//false
System.out.println(s1.equals(s2));//true
System.out.println(s1.equals(s3));//true
s1+="!";
System.out.println(s1);//123abc!
/*
* 編譯器在編譯程序時,若發現一個計算表達式計算符
* 兩邊都是字面量(直接量)時,會直接計算
* 並將結果編譯到.class文件中
*/
String s4="123"+"abc";
System.out.println("s2==s4:"+(s2==s4));//s2==s4:true
String s="123";
String s5=s+"123";
System.out.println("s1==s5:"+(s1==s5));//s1==s5:false
}
System.out.println(s1.equals(s2));//true
System.out.println(s1.equals(s3));//true
s1+="!";
System.out.println(s1);//123abc!
/*
* 編譯器在編譯程序時,若發現一個計算表達式計算符
* 兩邊都是字面量(直接量)時,會直接計算
* 並將結果編譯到.class文件中
*/
String s4="123"+"abc";
System.out.println("s2==s4:"+(s2==s4));//s2==s4:true
String s="123";
String s5=s+"123";
System.out.println("s1==s5:"+(s1==s5));//s1==s5:false
}
}