코드 A가 제대로 작동하지만 코드 B가 올바르게 작동 할 수 있다고 생각하지만 사실 코드 B가 올바르게 작동하지 않습니다. 왜?Java의 함수에서 객체를 만들 수없는 이유는 무엇입니까?
기능에서 객체를 만들 수없는 이유는 무엇입니까? private void SetField(Context mContext,MAtt aField,String name)
?
코드
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);
}
}
코드 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);
}
}
'인터페이스는 out 매개 변수 같은 것을 원하는 경우
, 당신은 새로 생성 된 객체를 반환하여 해당 시뮬레이션 할 수 있습니다 ? –
오류 메시지가 무엇입니까? – Shaishav
"코드 B가 올바르게 작동하지 않습니다"라는 질문에 대해 명확하게 정의되지 않았습니다. 그러나 컴파일 오류가 아닙니다. 비즈니스 논리 오류 일 수 있습니다. – NangSaigon