13.String

作者: 云木杉 | 来源:发表于2019-11-20 11:46 被阅读0次

    1.不可变String

    • String对象是不可变的。String类中每一个看起来会修改String值的方法,实际上都是创建了一个全新的String对象。

    2.重载“+”与StringBuilder

    字符串与➕相关的操作,编译器底层还是使用StringBuilder操作的,如果字符串造作比较简单,那就可以信赖编译器,如果字符串比较复杂或者在toString()使用循环的话,那么还是创建一个StringBuilder对象。

    private static void test3() {
            String mango = "mango";
            String s = "abc" + mango + "def" +47;
            out.println(s);
     }
    

    3.无意识的递归

    当编译器看到String对象后面跟一个➕而后面的对象不是String后,会将后面的对象转成一个String,正是通过this的toString()方法。

    public class JavaDemo {
        @Override
        public String toString() {
            return "JavaDemo : " + super.toString() + "\n";
        }
    }
    

    相关文章

      网友评论

          本文标题:13.String

          本文链接:https://www.haomeiwen.com/subject/cgwnictx.html