有没有办法从java环境中找出这个类型是否是原生的?isJavaType(Class class)or isUserType(Class class)?
回答
没有100%的把握,没有。您可以测试包名是否以“java”开头,但在大多数环境中很容易被欺骗。在一些JVM中,您可以测试类的类加载器是否为空;系统类将为空。
+1 - 对'null'类加载器的测试实际上是在测试类加载器是否是“引导类加载器”。您可以在引导类路径上运行带有额外JAR的JVM ......但是这有效地使这些JAR文件中的类成为系统类。 – 2011-04-09 14:24:43
java,javax,org.omg,org.xml,org.w3c和org.ietf根据我的Javadocs。对于快速解决方案来说,它可能没有问题,但对于未来或抵御恶意行为并不安全。 :) – 2011-04-09 15:44:37
非常感谢。此代码适用于我的应用程序:public boolean isUserType(Class > clazz){return clazz.getClassLoader()== null?假:真; } – CelinHC 2011-04-09 16:15:10
- 1. Objective C Class or struct?
- 2. class * object = new class [size]
- 3. (“Child Class”是“Parent class”)
- 4. “class variable”,“class variable()”和“class variable(argument)
- 5. @class
- 6. .class?
- 7. class Class - instance与类方法
- 8. 为什么“[self class] == [super class]”?
- 9. Stuck in Tutorial Doctrine2:“class Product is not a valid entry or mapped super class”
- 10. 在Class中Class Class <:: OtherClassName是做什么的?
- 11. 未定义的引用Class :: Class()和Class :: function()
- 12. 使用字符串变量设置'Class = new <Class of Class()>''
- 13. Javascript class
- 14. BufferedImage class
- 15. Comparable Class
- 16. class org.apache.ignite.IgniteClientDisconnectedException
- 17. CIFeature class
- 18. SignatureType class
- 19. final Class和Class有什么区别?
- 20. “Class myclass = Class()”是否浪费资源?
- 21. * .class和.class之间的gitignore区别
- 22. 对'Class :: Class'的未定义引用
- 23. class class [B在Java中代表什么?
- 24. 类变量:“class list”vs“class boolean”
- 25. 没有调整函数调用class :: class
- 26. “using”for“<template <class> class T>”
- 27. 未定义的引用`Class :: Class()'
- 28. 元素[CLASS =“名”]代替的.class
- 29. 错误:无法获得«class»,«class»,...}
- 30. ‘* HTML的.class’和‘HTML>体的.class’
JavaType和UserType有什么区别? Sun/Oracle开发并打包的一种类型?如果你能够给出一个明确的区分,那么应该可以通过权衡来做到这一点。 – 2011-04-09 13:25:54
是的。我的意思是JVM附带的Java类。 – CelinHC 2011-04-09 15:20:50