자바에서 매개 변수를 전달하는 방법은 무엇입니까? 예를 들어, 검증을위한 몇 가지 방법이 있습니다. 개인 정보를 보유하는 클래스 Person
과 다른 클래스의 전자 메일 주소를 확인하는 하나의 메소드가 있다고 가정 해 봅시다. 내 Controller
클래스에서 Person
클래스와 Validator
클래스를 사용하는 경우 전체 person
객체를 전달해야합니까? 아니면 이메일 person.getEmail()
과 함께 문자열 만 전달해야합니까? 첫 번째 옵션에서 Person.validateEmail(Person person)
메서드는 person.getEmail()
을 호출 할 수 있습니다. 그렇다면 전달 된 매개 변수가 얼마나 큰 '중요'입니까? 메모리/CPU의 관점에서 말입니다.자바에서 전달 매개 변수 최적화
0
A
답변
4
아니요, 여러분이 지나가고있는 모든 것이 문제의 객체에 대한 참조이므로 중요하지 않습니다. 자세한 내용은 this question and answers을 참조하십시오.
메서드 호출이 원격 인 경우를 제외하고 전체 개체 그래프를 serialize해야합니다. 이 작업에 소요되는 시간은 필드 수와 데이터 양에 따라 다릅니다.
0
java
Person
의 전체 개체를 전달하면 해당 개체의 주소 만 전달하면됩니다. 그래서, 여러분은 전체 객체를 다루지 않고, 단지 참조 만합니다.
이 경우 성능면에서 어떤 이메일이 전달되는지는 중요하지 않습니다. 하나의 이메일 주소 또는 해당 이메일이 포함 된 person
개체입니다.
반면에 그것은 나중에 어떻게 그 방법을 사용할 것인가에 달려 있습니다. 이 방법은 추상적 인 이메일로 뭔가를 수행 utility
방법의 일종 있다면, 그것은 단지 String
매개 변수를 전자 메일로 전달하는 좋은 인터페이스 솔루션이 될 것입니다.
0
자바 전달 매개 변수는 값으로 호출하므로 참조로 호출하지 않습니다. 그래서 객체의 경우 그 패스는 오직 person 클래스의 주소 값이다.
관련 문제
- 1. 문자열 전달 매개 변수
- 2. Realworld 매개 변수 최적화
- 3. 분포 매개 변수 최적화
- 4. 자바에서 입력 매개 변수
- 5. C - message_t 매개 변수 전달
- 6. URL을 사용하여 매개 변수 전달 매개 변수
- 7. 파이썬 매개 변수 전달 매개 변수
- 8. 함수에 변수 매개 변수 전달
- 9. 동적 매개 변수 전달
- 10. a4j에 매개 변수 전달 :
- 11. F # 매개 변수 전달
- 12. DependencyResolver : 매개 변수 전달
- 13. 콜백의 매개 변수 전달
- 14. NHibernate에 매개 변수 전달
- 15. 매개 변수 전달
- 16. 매개 변수 전달
- 17. CreateThread에 매개 변수 전달
- 18. 팝업보기의 매개 변수 전달
- 19. 매개 변수 전달
- 20. BroadcastReceiver에 매개 변수 전달
- 21. Grails 매개 변수 전달
- 22. C에 전달 ... 매개 변수
- 23. 테이블에서보기로 매개 변수 전달
- 24. 매개 변수 전달
- 25. 전달 된 매개 변수
- 26. CodeIgniter에서 매개 변수 전달
- 27. 함수에 매개 변수 전달
- 28. 전달 매개 변수
- 29. UITapGestureRecognizer로 매개 변수 전달
- 30. xml의 매개 변수 전달
참조 사본을 전달하고 있습니다. 참조 된 객체의 유형은 중요하지 않습니다. – jlordo
이미 제공된 답변 이외에 유효성 검사가 이메일 주소가 아닌 그 사람의 더 많은 정보를 고려한다면'Person' 객체를 전달하는 것이 좋습니다. 이것은 더 많은 유형 안전을 허용합니다. OTOH, 메일 주소 만 확인하려는 경우 person 객체를 전달하지 마십시오. 그러면 verify 메소드가 다시 사용할 수 없게됩니다. –