对于 Java,哪个等价于 "isinstance"(Python)?
Which is the equivalent of "isinstance" (Python) for Java?
我有一个生成请求来测试 Apis 的程序,代码的下一部分读取 JSON 以稍后管理值的信息:
def recorre_llaves(self, dicc):
campos = []
for k in dicc.keys():
if isinstance(dicc[k], dict):
for e in self.recorre_llaves(dicc[k]):
campos.append(e)
elif isinstance(dicc[k], list):
if isinstance(dicc[k][0], dict):
for e in self.recorre_llaves(dicc[k][0]):
campos.append(e)
pass
else:
campos.append(Campo(k, dicc[k][0]))
else:
campos.append(Campo(k, dicc[k]))
pass
return campos
pass
程序遍历 JSON 并使用键和值创建新对象。现在我需要做同样的事情,但使用 Java 并且我在使用方法“isInstance()”时遇到问题我想做类似的事情:
import com.fasterxml.jackson.databind.ObjectMapper;
HashMap <String, Object> response = mapper.readValue(request, HashMap.class);
HashMap.get("KEY").isInstance();
但它不起作用,你知道用 Java 做同样事情的方法吗?
instanceof returns 布尔值
Simple1 s=new Simple1();
System.out.println(s instanceof Simple1);//真
Python中的list
对应Java中的List
(见javadoc of java.util.List
)。
而Python中的dict
对应Java中的Map
(见javadoc of java.util.Map
)。
Python函数isinstance
对应Java关键字instanceof
.
因此 Python 行
if isinstance(dicc[k], dict):
在Java中会这样写:
if (dicc.get(k) instanceof List)
我有一个生成请求来测试 Apis 的程序,代码的下一部分读取 JSON 以稍后管理值的信息:
def recorre_llaves(self, dicc):
campos = []
for k in dicc.keys():
if isinstance(dicc[k], dict):
for e in self.recorre_llaves(dicc[k]):
campos.append(e)
elif isinstance(dicc[k], list):
if isinstance(dicc[k][0], dict):
for e in self.recorre_llaves(dicc[k][0]):
campos.append(e)
pass
else:
campos.append(Campo(k, dicc[k][0]))
else:
campos.append(Campo(k, dicc[k]))
pass
return campos
pass
程序遍历 JSON 并使用键和值创建新对象。现在我需要做同样的事情,但使用 Java 并且我在使用方法“isInstance()”时遇到问题我想做类似的事情:
import com.fasterxml.jackson.databind.ObjectMapper;
HashMap <String, Object> response = mapper.readValue(request, HashMap.class);
HashMap.get("KEY").isInstance();
但它不起作用,你知道用 Java 做同样事情的方法吗?
instanceof returns 布尔值
Simple1 s=new Simple1();
System.out.println(s instanceof Simple1);//真
list
对应Java中的List
(见javadoc of java.util.List
)。
而Python中的dict
对应Java中的Map
(见javadoc of java.util.Map
)。
Python函数isinstance
对应Java关键字instanceof
.
因此 Python 行
if isinstance(dicc[k], dict):
在Java中会这样写:
if (dicc.get(k) instanceof List)