73

Is there any way in java to return a new array without assigning it first to a variable? Here is an example:

public class Data {
    private int a;
    private int b;
    private int c;
    private int d;
    public int[] getData() {
        int[] data = { a, b, c, d };
        return data;
    }
}

I want to do something like this, but doesn't work:

public int[] getData() {
    return {a, b, c, d};
}
0

5 Answers 5

136

You still need to create the array, even if you do not assign it to a variable. Try this:

public int[] getData() {
    return new int[] {a,b,c,d};
}

Your code sample did not work because the compiler, for one thing, still needs to know what type you are attempting to create via static initialization {}.

Sign up to request clarification or add additional context in comments.

Comments

7

You been to construct the object that the function is returning, the following should solve your issue.

public int[] getData() {
    return new int[]{a,b,c,d};
}

hope this helps

Comments

3
public int[] getData() {
    return new int[]{a,b,c,d};
}

Comments

2
return new Integer[] {a,b,c,d}; // or
return new int[] {a,b,c,d};

Comments

0
public class CentsToDollars {

    public static int[] getCentsToDollars(int cents) {
        return new int[] { cents / 100, cents % 100 };
    }

    public static void main(String[] args) {
        // TODO Auto-generated method stub
        Scanner scan = new Scanner(System.in);
        int cents;
        System.out.print("Input the cents: ");
        cents = scan.nextInt();
        int[] result = getCentsToDollars(cents);
        System.out.println("That is " + result[0] + " dollars and " + result[1] + " cents");
        scan.close();
    }
}

2 Comments

While this might answer the authors question, it lacks some explaining words and/or links to documentation. Raw code snippets are not very helpful without some phrases around them. You may also find how to write a good answer very helpful. Please edit your answer - From Review
This appears to be just a repeat of all the other existing answers.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.