2011-08-08 40 views
57

Tôi đã thấy các cách tiếp cận khác nhau để xác định một mảng tĩnh trong Java. Hoặc:Cách khởi tạo một mảng tĩnh?

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

... hoặc chỉ

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

hoặc như một List

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

Có một sự khác biệt (trừ định nghĩa Danh sách khóa học)?

Cách tốt hơn (hiệu suất khôn ngoan) là gì?

Trả lời

95

Nếu bạn đang tạo một mảng sau đó là có sự khác biệt, tuy nhiên, sau đây là neater:

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

Nhưng, nếu bạn muốn vượt qua một mảng vào một phương pháp bạn phải gọi nó là như thế này:

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

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

câu trả lời hay nhất cho đến nay –

8

Không, không có sự khác biệt. Chỉ là syntactic sugar. Arrays.asList(..) tạo danh sách bổ sung.

Các vấn đề liên quan