gpt4 book ai didi

java - 为什么parameter.getType().isInstance(HttpServletRequest.class) return is false,but use "=="is true

转载 作者:搜寻专家 更新时间:2023-10-31 08:22:10 24 4
gpt4 key购买 nike

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);
}
}

输出是:

interface javax.servlet.http.HttpServletRequest
false
true

为什么使用“isInstance”为假而使用“==”为真?因为“instance of”无法判断implements关系?

最佳答案

该类型不是 HttpServletRequest 类的实例,它是 java.lang.Class 的实例其中包含有关 HttpServletRequest 类的信息。

关于java - 为什么parameter.getType().isInstance(HttpServletRequest.class) return is false,but use "=="is true,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37745742/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com