如何初始化静态数组?

2022-08-31 13:19:50

我见过在Java中定义静态数组的不同方法。也:

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

...或仅

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

或作为List

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

是否有区别(当然,列表定义除外)?

什么是更好的方法(性能明智)?


答案 1

如果您正在创建数组,则没有区别,但是,以下内容更整洁:

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

但是,如果你想将一个数组传递到一个方法中,你必须这样调用它:

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

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

答案 2

没有,没有区别。这只是句法糖。 创建其他列表。Arrays.asList(..)