问题
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