Zwrócenie obiektu utworzonego w metodzie

Zwrócenie obiektu utworzonego w metodzie
  • Rejestracja: dni
  • Ostatnio: dni
0

Dzień dobry!,
mam taki problem z java na android, chcę zwrócić obiekt utworzony metodzie, wygląda to tak ( to nie jest kod - pokazany problem ):

Kopiuj

public class MyClass1 {

	.
	.
	.
	
    MyClass2 Object2 = null;

    public MyClass2 method(int a){
	if(a==0){
		Object2 = new Object2("cos","cos");
	} else 	if(a==1){
		Object2 = new Object2("cos","cos");
	} else {
		Object2 = new Object2("cos","cos");

	}
	return Object2;
    }
}

Problem w tym że w innym miejscu gdy zrobię:

Kopiuj
MyClass2 Object = Object1.method();
Object.methodObject1();

to program się sypie, jak by Object był pusty.

Rozwiązałem to w taki sposób:

Kopiuj
public class MyClass1 {

	.
	.
	.
	
    MyClass2 Object2 = new Object2();

    public MyClass2 method(int a){
	if(a==0){
		Object2Temp = new Object2("cos","cos")
		Object2.set(Object2Temp);
	} else 	if(a==1){
		Object2Temp = new Object2("cos","cos")
		Object2.set(Object2Temp);
	} else {
		Object2Temp = new Object2("cos","cos")
		Object2.set(Object2Temp);

	}
	return Object2;
    }
}

Metoda set przepisauje dane z objektu Object2do Object2 w taki sposób:

Kopiuj
var = Object2.var;

Ale jest to "trochę" obejście problemu, moje pytanie brzmi : tak się robi czy jest jakiś inny ładniejszy sposób?

Z góry dziękuję za pomoc : )

matt_z
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 56
0

Coś takiego powinno działać.

Kopiuj

class C {
  public D createD() {
    D = new D();
    return D;
  }

  main() {
    C c =  new C();
    D d = c.createD();
    d.doSth();
  }
}

Jak nie działa to podaj konkretny kod i wyjątki.

  • Rejestracja: dni
  • Ostatnio: dni
0

Użyj Optionala :)

  • Rejestracja: dni
  • Ostatnio: dni
0

Skoro powinno działać to będę próbował, dzięki : )

Zarejestruj się i dołącz do największej społeczności programistów w Polsce.

Otrzymaj wsparcie, dziel się wiedzą i rozwijaj swoje umiejętności z najlepszymi.