2016-03-30 6 views
6

Ich habe eine Klasse, classA, die einen Konstruktor hat, der Objekte aus einer anderen Klasse verwendet, classB. Ich verwende diese Objekte von classB, um einen Satz in classA zu bilden. Jetzt habe ich eine Methode in classA, die eingerichtet wird, um die Elemente des Satzes, der im Konstruktor erstellt wurde, zurückzugeben.Wie man ein Set in Java zurückgibt

Das ist, wo mein Problem ist: Ich kann nicht die richtige Syntax herausfinden, um die Set-Elemente zurückzugeben.

Dies ist mein Code:

package testing; 
import java.util.*; 

public class classA { 

    public classA(classB x, classB y) { 
     Set<classB> setElements = new HashSet<classB>(); 
     setElements.add(x); 
     setElements.add(y); 

    public set<classB> getElements() { 
     return setElements; //THIS IS WHERE MY ERROR IS. HOW DO I RETURN A SET? 
+0

Kommen Sie zufällig von Javascript? – HopefullyHelpful

+0

Nein, dies ist mein erster Ausflug in die Java-Welt. Ich habe einige Erfahrung in C, Python und ein paar anderen Sprachen, aber :) – flexcookie

Antwort

10

Scope Angelegenheiten. Sie haben den Umfang Ihrer Gruppe auf Konstruktor beschränkt. Machen Sie es zu einem Instanzmitglied. Sie können es dann zurückgeben.

Set<classB> setElements = new HashSet<classB>(); 
public classA(classB x, class B y) { 
     setElements.add(x); 
     setElements.add(y); 
+0

Ausgezeichnet, das ist genau das, was ich falsch gemacht habe. Danke für die Hilfe! Ich werde das als Antwort so schnell wie möglich akzeptieren. – flexcookie

+0

Glückliche Codierung. Markieren Sie es als Antwort, wenn Sie es hilfreich fanden. –