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)?
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!
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