调用本类方法
public void a() {
b(); //调用b(); this.b();
}
字符串连接的时候,其中有一个字符串,最终结果为字符串型
String s = "Hello World"; java首先会去常量池中找"Hello World"字符串,如果常量池中有,则s直接指向该字符串的地址。如没有,则会在常量之中新建该字符串,然后s指向该地址。
String s = new String("Helo World"); 首先new出来一个地址,然后在堆中建立,建立前堆会去常量池中查看是否有该字符串,如果有由堆直接指向常量池中的字符串。
总之String先去常量池中找,没有再创建
equals()是检查自称字符串的字符是否一致。 “==” 是检查地址是否一样
indexOf( ..) 用来查找...在字符串中的位置
String类为字符串类,不可变动,一旦生成就不可变化了
StringBuffer: String增强版
StringBuffer sb = new StirngBuffer(); 创建了一个空StringBuffer对象
StringBuffer sb = new StringBuffer("aaa");
sb.toString(); //转化为String类型
sb.appennd("**");//追加字符串
//拼接,效率低下,占用内存空间,占用了4个常量池空间,不常用,不建议
String sQurey = "select * from table where 1=1"; //不会变化了,在他的基础上再加,则会生成一个新的字符串
//只会加到sb后面,最后一起转换成字符串,较常用
StringBuffer sb = new StringBuffer("select * from table where 1=1"); //只new了一次,其中值是可变的
|
|