有人可以解释一下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的连接运算符是" +"不是"。"。任何人都可以请你解释这个输出。
答案 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() );