How to initialize a static array?

China☆狼群 提交于 2019-12-05 08:20:24

问题


I have seen different approaches to define a static array in Java. Either:

String[] suit = new String[] {
  "spades", 
  "hearts", 
  "diamonds", 
  "clubs"  
};

...or only

String[] suit = {
  "spades", 
  "hearts", 
  "diamonds", 
  "clubs"  
};

or as a List

List suit = Arrays.asList(
  "spades", 
  "hearts", 
  "diamonds", 
  "clubs"  
);

Is there a difference (except for the List definition of course)?

What is the better way (performance wise)?


回答1:


If you are creating an array then there is no difference, however, the following is neater:

String[] suit = {
  "spades", 
  "hearts", 
  "diamonds", 
  "clubs"  
};

But, if you want to pass an array into a method you have to call it like this:

myMethod(new String[] {"spades", "hearts"});

myMethod({"spades", "hearts"}); //won't compile!



回答2:


Nope, no difference. It's just syntactic sugar. Arrays.asList(..) creates an additional list.



来源:https://stackoverflow.com/questions/6980199/how-to-initialize-a-static-array

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!