그래서 내 값 내에서 간단한 산술 연산을 수행하고 내 'pricingAction'클래스에서 'currentUser'객체를 사용하려고했습니다.산술에서 객체 값과 로컬 값
코드는 두 개의 볼륨 값 (double)을 추가하고 두 값의 합계에 변수 값을 설정해야합니다. 이 예에서 volume_2 및 volume_4 변수는 둘의 합계로 설정해야합니다.
방법 1 :
if(filled4 == true){
if(currentUser.getUtility_2().equalsIgnoreCase(currentUser.getUtility_4())){
currentUser.setVolume_2(currentUser.getVolume_2() + currentUser.getVolume_4());
currentUser.setVolume_4(currentUser.getVolume_2() + currentUser.getVolume_4());
}
}
방법 2 :
if(filled3 == true){
if(currentUser.getUtility_2().equalsIgnoreCase(currentUser.getUtility_3())){
holder = 0;
holder = currentUser.getVolume_2() + currentUser.getVolume_3();
currentUser.setVolume_2(holder);
currentUser.setVolume_3(holder);
}
}
방법 2 개 반환 기대 가치와 방법 1가에 설정 한 값의 중복에 던지는 것으로 보인다.
제 질문은 왜 방법 1이합니까?
foo.setX(foo.getX() + foo.getY());
foo.setY(foo.getX() + foo.getY());
을 이제 우리를 생각 : 난 단지 그냥 현재의 값에 여분의 합에 압정으로 고정되어 있지만 세터 방법의 그것을 쉽게 읽을 그래서 코드를 약간 단순화합시다 일반적인 this.x = x;
해야 하는가? 값은 무엇입니까? 이 코드는 문맥에서 벗어나지 않습니다. –
method1에서 첫 번째 산술에서 setVolume_2에 값을 설정한다는 점을 더 명심하십시오. 다음 산술에서 getVolume_2의 값은 첫 번째 산술에서 업데이트 된 값이됩니다. getVolume_4가 0 일 수 있으므로 값이 중복 된 것처럼 보입니까? –
당신이 깨닫지 못하는 것처럼 들리지만, 첫 번째 방법에서는 코드의 두 번째 줄에서 방금 증가시킨 볼륨 2의 값을 사용합니다. –