Code A funktioniert gut, ich denke Code B kann korrekt funktionieren, aber Code B funktioniert nicht richtig. Warum?Warum kann ich ein Objekt in einer Funktion in Java nicht erstellen?
Warum kann ich kein Objekt in der Funktion private void SetField(Context mContext,MAtt aField,String name)
erstellen?
Code A
public class MURLPar {
public MAtt diskcount=new MAtt();
public MAtt diskindex=new MAtt();
public MURLPar(Context mContext){
SetField(mContext,diskcount,"Pardiskcount");
SetField(mContext,diskindex,"Pardiskindex");
}
public class MAtt {
public String name;
public String value;
}
private void SetField(Context mContext,MAtt aField,String name){
int id = mContext.getResources().getIdentifier(name, "string", mContext.getPackageName());
aField.name=mContext.getString(id);
}
}
-Code B
public class MURLPar {
public MAtt diskcount;
public MAtt diskindex;
public MURLPar(Context mContext){
SetField(mContext,diskcount,"Pardiskcount");
SetField(mContext,diskindex,"Pardiskindex");
}
public class MAtt {
public String name;
public String value;
}
private void SetField(Context mContext,MAtt aField,String name){
aField=new MAtt(); //Create object
int id = mContext.getResources().getIdentifier(name, "string", mContext.getPackageName());
aField.name=mContext.getString(id);
}
}
Was ist 'MAtt' eine Schnittstelle ? –
Was sagt der Fehler? – Shaishav
Die Frage definiert nicht klar über: "Code B funktioniert nicht richtig". Aber es ist kein Kompilierungsfehler. Es kann sich um einen Geschäftslogikfehler handeln. – NangSaigon