-1
안녕하세요 스위치의 I는 "argToken"값을 변환하고 여기에자바 스위치 케이스 리턴 형
@Override
public <RERURN_TYPE...???> convert(Object argToken, Object argFieldToken) {
Object obj = Precondition.ensureNotNull(argToken, "Input Object");
Field field = (Field) Precondition
.ensureNotNull(argFieldToken, "Field");
Type type = Type.valueOf(field.getType().getName());
switch (type) {
case BYTE:
break;
case SHORT:
break;
case INTEGER:
return Integer.parseInt(argToken.toString());
break;
case LONG:
break;
case FLOAT:
break;
case DOUBLE:
break;
case CHARACTER:
break;
case BOOLEAN:
break;
case STRING:
break;
case BIGINT:
break;
default:
break;
}
return null;
}
같은 경우 필드의 유형에 따라 달라집니다 있습니다. 마지막으로 반환 값은 해당 필드 유형에 따라 변경됩니다. 그렇다면 모든 반환 유형을 허용하는 반환 유형을 어떻게 유지할 수 있습니까?
누구든지 설명해 주실 수 있습니까?
if(argToken instanceof Integer) {
return (int) argToken;
} else if(/* some other types */) {
//cast and return the other types
} else {
return null;
}
그러나 이것은 단지 리턴 타입 Object
와 함께 작동합니다 : 당신이 그런 훨씬 쉽게 스위치 부분을 설계 할 수 아마르
그런 일은 할 수 없습니다. 반환 유형은'Object' 여야합니다. –
"모든 반환 유형을 허용하는 반환 유형을 유지합니다."내가 원하는 것을 얻는다면 불가능합니다. – Uselesssss