草庐IT

isGeneric

全部标签

java - 检查类型是否通用

我正在尝试实现一个代码分析器,它将另一个Java文件作为输入。对于每个变量声明,我想检查变量所属的类型是否是通用的。有没有一种简单的方法可以做到这一点?例如,我希望它:isGenericType("HashSet")->trueisGenericType("int")->false我可能会创建一个包含所有泛型类型的注册表,但这样做的问题是如果我实现自定义泛型类型,那么我每次都必须更新注册表。对此有一些简单的解决方案吗? 最佳答案 这将按对象、类或类名进行测试。更新:根据有用的评论对该代码进行了多次修订,提供了一些有趣的测试用例。然而

python - isinstance(foo, types.GeneratorType) 还是 inspect.isgenerator(foo)?

在Python中似乎有两种方法来测试一个对象是否是生成器:importtypesisinstance(foo,types.GeneratorType)或:importinspectinspect.isgenerator(foo)本着“应该有一种-最好只有一种-显而易见的方法”的精神,推荐这些方法中的一种而不是另一种(大概他们做同样的事情......如果不是,请赐教!)? 最佳答案 它们是100%等效的:>>>print(inspect.getsource(inspect.isgenerator))defisgenerator(obj