Parameter[] ps = method.getParameters();
Map<String,Integer> map = new HashMap<String,Integer>();
for(int ij = 0;ij<ps.length;ij++){
Parameter p = ps[ij];
RequestParam rp = p.getAnnotation(RequestParam.class);
if(rp != null){
//do something
}else {
System.out.println(p.getType());
System.out.println(p.getType().isInstance(HttpServletRequest.class));
System.out.println(p.getType() == HttpServletRequest.class);
}
}
輸出爲:爲什麼parameter.getType()isInstance(HttpServletRequest.class)的回報是假的,但用 「==」 是真
interface javax.servlet.http.HttpServletRequest
false
true
爲什麼要用 「isInstance」 是假的並使用「==」是真的? 因爲「實例」無法判斷實現關係嗎?