2016-02-29 21 views
6

Làm cách nào tôi có thể quản lý trả về một mảng tạm thời trong Java (để lưu dòng mã, mà không tạo biến).Cách trả về một mảng int tạm thời trong Java

Khi làm bắt đầu, tôi có thể sử dụng

int[] ret = {0,1}; 

Trong khi khi thực hiện trở lại, tôi không thể sử dụng

return {0,1}; 

Tôi có bỏ lỡ một cái gì đó hoặc là có một lực lượng typ-cast để làm điều này?

Tôi có ý tưởng sử dụng new int[] làm câu trả lời bên dưới. Mặc dù, lý do chúng ta không cần new int[] khi bắt đầu là gì?

+0

Xem [Java Language Spec] (https://docs.oracle.com/javase/specs/jls/se7/html/jls-10.html) để biết chi tiết. –

+2

Bạn không cần viết câu trả lời cho câu hỏi của mình. Chỉ chấp nhận câu trả lời giải quyết câu hỏi của bạn, đó là tất cả. – Tom

Trả lời

6

tôi nảy sinh ý tưởng sử dụng new int [] như các câu trả lời dưới đây. Trong khi đó, lý do chúng ta không cần int mới khi bắt đầu là gì?

Khi bạn viết int[] ret = {0,1};, đây thực chất là lối tắt viết int[] ret = new int[]{0,1};. Từ doc:

Ngoài ra, bạn có thể sử dụng cú pháp phím tắt để tạo và khởi tạo một mảng:

int[] anArray = { 
    100, 200, 300, 
    400, 500, 600, 
    700, 800, 900, 1000 
}; 

Bây giờ khi bạn quay trở lại bạn phải viết một cách rõ ràng return new int[]{0,1}; vì bạn không làm một hoạt động gán (tạo và khởi tạo theo doc) cho mảng và do đó bạn không thể sử dụng phím tắt. Bạn sẽ phải tạo một đối tượng bằng cách sử dụng new.

+0

Cảm ơn câu trả lời chi tiết của bạn! – newbieSOF

+0

Vui vì nó đã giúp. – Atri

3

Bạn có thể làm điều gì đó tương tự như vậy,

return new int[]{1,2,3}; 
8

Bạn có thể làm một cái gì đó gọi là trả lại một mảng vô danh (vì nó không có tên).

Do

return new int[] {0, 1};

cho rằng ...

5
public int [] return check(){ 
     return new int[] {5,8,3,6,4}; 
    } 
Các vấn đề liên quan