String.length()函数

时间:2014-03-18 18:16:55

标签: 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("String length for second case is :".length());

    }
}

代码的输出是:

字符串长度为:15

34

第一个println语句将输出设为15.那没关系,但是第二个呢?第二个句法在语法上是否正确,因为java的连接运算符是" +"不是"。"。任何人都可以请你解释这个输出。

5 个答案:

答案 0 :(得分:3)

第二个是:

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

答案 1 :(得分:3)

您正在字符串length()上调用"String length for second case is :"方法。该字符串中的字符总计为34。

这与说

相同
  

String s ="第二种情况的字符串长度为:&#34 ;;

     

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

答案 2 :(得分:3)

运行此代码时,我得到了

String length is :15
34

当然,"Hi! This is me."的长度是15.但"String length for second case is :"String字面值,可以视为String对象,并且可以调用方法它也是。没有连接;只是对字符串文字的方法调用。它的长度是34。

答案 3 :(得分:2)

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

打印字符串"String length for second case is :"的长度,即34。

答案 4 :(得分:2)

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

相当于:

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