A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 约吗^_^ 中级黑马   /  2015-11-16 23:22  /  310 人查看  /  0 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

调用本类方法
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了一次,其中值是可变的

0 个回复

您需要登录后才可以回帖 登录 | 加入黑马