package com.swift; public class Douhao_String_Test { public static void main(String[] args) {
/*
* 如何把一段逗号分割的字符串转换成一个数组?
* String s = "a" +"b" + "c" + "d";生成几个对象?
*/ String str="sdjkfl,sldfj,abc,ei3,239d";
String[] arr=str.split(","); for(String s:arr) {
System.out.println(s);
} String s1 = new String("hello"); //新对象不同堆空间
String s2 = new String("hello");
String ss1 = "hello"; //指向同一常量池
String ss2 = "hello";
System.out.println(s1==s2);
System.out.println(ss1==ss2); String t1= "a";
String t2= t1 + "b";
String t3= "a" + "b";
System.out.println(t2== "ab"); //t1 是final类型字符串 不能改变,如要改变要创建新对象 t2是新对象
final String tt1="a";
String tt2=tt1+"b"; //编译器优化把能确定的tt1当成了"a" 所以tt2=tt1+"b" 成了tt2="ab";
System.out.println(tt2=="ab");
System.out.println(t3== "ab"); //编译器把String t3= "a" + "b"; 优化成String t3="ab"; String s = "a" +"b" + "c" + "d";
System.out.println(s =="abcd");//只生成一个对象"abcd"
} }