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" } }