객체로 디코딩 할 때 Json으로 인코딩 된 객체를 수신하는 Java 응용 프로그램을 작성합니다. 해당 객체에 적절한 관련 함수를 실행해야합니다. .if를 사용하는 대신 객체 유형별로 함수를 실행합니다.
저는 50 개의 개체를 가지고 있고 각 개체마다 함수를 실행하고 해당 개체의 기능을 전달해야합니다. 이는 내 코드에 5if else
문장이 있음을 의미합니다.
google-gson을 사용하여 json 문자열을 개체로 다시 디코딩합니다.
Gson gson = new Gson();
Packet packet = (Packet) gson.fromJson(msg, cls);
다음 나는 등
if (packet instanceof FooVO) {
func1(packet);
} else if (packet instanceof BarVO) {
func2(packet);
}
...
하고 있습니다 ... 편지
가 나는 경우 다음을 단축 할 수있는 방법이 자바 그래서 궁금하네요에서 해당 전문가가 아니에요/else 문을 사용하고 어떻게 든 객체 유형을 기반으로하는 함수를 반환하고 객체의 반환 유형을 기반으로 함수를 호출하는 클래스를 만듭니다.내 코드에서 여러 번 사용하면 저를 구할 수있는 방법입니다!
감사합니다.
패킷은 다른 모든 클래스가 상속하는 추상 클래스입니다. – ufk
패킷이 웁니다. – ufk