这两个字符串声明之间的区别

时间:2012-12-06 07:18:00

标签: java string declaration

Option 1
++++++++++
String s1;
String s2;
String s3;

Option 2
++++++++++
String s1,s2,s3;

我想知道声明字符串的两种最常用的方法之间的实际区别。可能存在任何内存或执行速度的变化。或者两者都一样。

2 个答案:

答案 0 :(得分:4)

我在下面检查自己。

public class Declare1 {
    String s1, s2, s3;
}

public class Declare2 { 
    String s1;
    String s2;
    String s3;
}

编译每个java文件,并使用文本editer打开每个Declare1.class,m Declare2.class .. ..除了无法识别的字符..完全相同。

Declare1
java/lang/Object s1 Ljava/lang/String; s2 s3 <init> ()V Code
LineNumberTable LocalVariableTable this 
LDeclare1; 
SourceFile 
Declare1.java

Declare2
java/lang/Object s1 Ljava/lang/String; s2 s3 <init> ()V Code
LineNumberTable LocalVariableTable this 
LDeclare2; 
SourceFile 
Declare2.java

毕竟。 compile使一个完全相同的类文件。所以每个表演都是一样的。

答案 1 :(得分:1)

没有区别,这是品味问题。唯一的区别是您定义数组时。 e.g

String[] s1, s2[], s3;

在这种情况下,s1s3String[]s2String[][]