Я написал этот тестовый класс, и мне интересно, почему у прокси-объекта есть тот же хэш-код, что и исходный объект. Кто-нибудь знает, почему?Java Proxy -> Почему у прокси-объекта такой же хэш-код, как и у исходного объекта
public class Main {
public static void main(String[] args) {
final Service realSubject = new Subject_A();
final Service proxySubject = ProxyGenerator.makeProxy(Service.class, realSubject);
final String hello = proxySubject.work("Hello");
System.out.println("hello = " + hello);
System.out.println("\n");
System.out.println("realSubject: " + realSubject);
System.out.println("proxySubject: " + proxySubject);
}
}
То выход образца:
in Subject_A#work: str = Hello
hello = Hello_DONE
realSubject: [email protected]
proxySubject: [email protected]
Вы не называете '.hashCode()' в своем коде, поэтому я не вижу, какой ответ вы ожидаете. Образец вывода, пожалуйста? – fge
Что такое 'Сервис',' Subject_A' и 'ProxyGenerator'? Являются ли они из какой-то библиотеки или вы их написали? – Codebender
Возможный дубликат [Какие проблемы следует учитывать при переопределении равных и hashCode в Java?] (Http://stackoverflow.com/questions/27581/what-issues-should-be-considered-when-overriding-equals-and- hashcode-in-java) – Raedwald