저는 두 가지 클래스 (예 : 자동차 및 자전거)를 가지고 있습니다. 두 클래스의 객체는 관리 레이어로 보내지며 관리 레이어에서 사용됩니다. layerHandler.objectReceived (object);를 호출하여 모든 객체를 해당 레이어로 보냅니다.overriden toString() 메서드는 항상 object에 대해 동일한 값을 반환합니까?
LayerHandler는
LayerHandler이 actionFired (문자열이라는 다른 방법이 있습니다 (저장 될 객체가없는 동일한 유형이 있기 때문에 메신저 (자동차 및 자전거)를 개체를 사용하여)의 HashMap에이 객체를 저장할 필요 메시지, 객체 객체); 두 번째 매개 변수 'object'는 Car 또는 Bicycle 클래스에 속하며 LayerHandler의 HashMap에 이미 저장되어 있습니다. 이 메소드가 발생하면 HashMap에 저장된 관련 객체를 찾아야합니다.
지금은 object.toString()을 hashmap의 키 값으로 사용하고 있습니다. 두 가지 유형의 객체 모두 defaut toSting() 메서드를 사용하며이 메서드는 재정의되지 않습니다.
여기 내 프로젝트의 전체 구조를 표시하지는 않지만, 이유는 HashMap을 사용하고 있습니다. (ArrayList get (Object obj) 메서드는 여기 좋을 것입니다 만, HashMap을 사용해야합니다.)
toString()은 항상 시간이 지남에 따라 변경되지 않는 동일한 값을 반환하는지 여부를 알아야합니다. 그것을 내 HashMap의 키로 사용하십시오.
해시 맵에 저장하는 객체의 구현. –
JAVA에서 제공하는 객체의 해당 클래스 이름을 식별하려면 object_name.getClass(). getName()을 사용합니다. 이 논리를 사용하여 오브젝트가 TYPE Car 또는 Bycycle인지 여부를 판별 할 수 있습니다. 내가 너를 도왔기를 바래. – Programmer