字符串的有关问题
1)new String (“A”);实际上是创建了两个对象, 一个在常量池中,另一在Heap中。
2)常量池 String =”” 这里面无论是字母还是数字都是相当于常量池,在编译时期就已经确定了。他们指向的是同一个对象!
3)若 String s= s1+s2即时 s1和 S2是编译时期的确定常量,但是因为在编译时期s1和s2 不确定所以,s 并不是常量池中的,而是创建了新对象!!。
3.String 内部使用Private final char Value创建的字符串,因此当String改变时,等同于创建了一个新的对象!而StringBuffer对String类型改变是操作的同一个对象.
4.String 作为形参传入,只是在内部复制,不会对方法外的字符串产生影响。(推荐做法画图 处理StringBuffer和String形参引用分析对实际值操作)。
5.Int 类型无法直接转成String
6.Str =”helloword”; str+=’a’; 这是正确的! 但是加字符串就要用双引号。
7.StringBuffer 是线程安全的,StringBuilder不是。
8.substring 方法 截取从0开始有头无尾。
8.SubString() 截取字符串方法,源码是new了一个新的字符串,并且是按char计算的。