[英]What is the difference between declaring a String and declaring it as final?
[英]difference in declaring your string array
之間的區別是什么:
String [] columns = new String []{KEY_ROWID, KEY_TITLE, KEY_DESC, KEY_TIME};
和這個 :
String [] columns={KEY_ROWID, KEY_TITLE, KEY_DESC, KEY_TIME};
沒有。
后者是一種方便的快捷方式語法,僅在聲明語句中起作用,但結果完全相同。
它們產生與字符串數組相同的實例化(僅可用於聲明),所獲得的結果完全沒有區別。 但是,我主要選擇第一個(只是個人喜好)。
編輯:抱歉,出現第一個答案時我正在打字。
第一行使用包含數組初始化器的數組創建表達式,第二行僅包含數組初始化器。 在這里,它們執行相同的確切功能-創建和初始化數組。 但是只有一個在聲明數組時才有效。
數組初始值設定項可以在聲明(第8.3節,第9.3節,第14.4節)中指定,也可以在數組創建表達式的第15.10節中指定。
ArrayInitializer: { VariableInitializersopt ,opt } VariableInitializers: VariableInitializer VariableInitializers , VariableInitializer
15.10節定義了數組創建表達式,以要求new SomeType[]
:
數組創建表達式用於創建新數組(第10節)。
ArrayCreationExpression: new PrimitiveType DimExprs Dimsopt new ClassOrInterfaceType DimExprs Dimsopt new PrimitiveType Dims ArrayInitializer new ClassOrInterfaceType Dims ArrayInitializer DimExprs: DimExpr DimExprs DimExpr DimExpr: [ Expression ] Dims: [ ] Dims [ ]
因此,如果new SomeType[]
部分是數組變量的聲明的一部分,則可以將其省略,但是必須將其包括在其他位置,例如賦值表達式。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.