Java String.length()函数

Java String.length()函数,java,Java,有人能给我解释一下java的这种行为吗 class StringLength { public static void main(String args[]) { String str = "Hi! This is me."; int length = str.length(); System.out.println("String length is :" + length); System.out.println("St

有人能给我解释一下java的这种行为吗

class StringLength {
    public static void main(String args[]) {
        String str = "Hi! This is me.";
        int length = str.length();
        System.out.println("String length is :" + length);
        System.out.println("String length for second case is :".length());

    }
}
代码的输出为:

字符串长度为:15

三十四


第一个
println
语句的输出为15。没关系,但是第二个呢??第二个在语法上是正确的,因为java的连接运算符是“+”而不是“。谁能给我解释一下这个输出。

第二个是同义词:

String str2 = "String length for the second case is:";
System.out.println(str2.length());

您正在对字符串
调用
length()
方法。第二种情况下的字符串长度为:“
该字符串中的字符总数为34个

这就等于说

String s=“第二种情况的字符串长度为:”

System.out.println(s.length())


运行此代码时,我得到

String length is :15
34
当然可以,
“嗨!这是我。”
的长度是15。但是第二种情况下的字符串长度是:“是一个
字符串
文本,可以将其视为
字符串
对象,并且也可以对其调用方法。没有连接;只是对字符串文本的方法调用。它的长度是34

System.out.println("String length for second case is :".length());

打印字符串的长度
“第二种情况下的字符串长度为:”
,即34。

第二种情况下调用字符串文本的方法“第二种情况下的字符串长度为:”

这相当于:

String str2 = "String length for second case is :";
System.out.println( str2.length() );

这就是你应该问自己的问题。你认为System.out.println(“我是外星人,”.concat(“请不要开枪打我”))怎么样行吗?不,你错了。它给我15分和34分