繁体   English   中英

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

[英]Difference between this Two String Declarations

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

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

我想知道声明字符串的前两种方法之间的实际区别是什么? 内存或执行速度可能会发生变化。 还是两者都一样?

我如下检查自己。

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

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

编译每个Java文件,并使用文本编辑器打开每个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

毕竟。 编译生成完全相同的类文件。 所以每场演出都是一样的

没有区别,这只是口味问题。 唯一的区别是定义数组时。 例如

String[] s1, s2[], s3;

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM