java – 获取Class [Runtime-Type Token]的实例
发布时间:2020-12-14 06:02:26 所属栏目:Java 来源:网络整理
导读:我创建了一个Preferences类,对于Getters我不想使用Runtime-Type Token. 所以这是我的getter方法: public T T get(String key,ClassT clazz) { // do some crazy stuff (e.g. Double - Float)} 到此为止,一切正常.但我希望class参数是可选的. boolean b = pr
我创建了一个Preferences类,对于Getters我不想使用Runtime-Type Token.
所以这是我的getter方法: public <T> T get(String key,Class<T> clazz) { // do some crazy stuff (e.g. Double <-> Float) } 到此为止,一切正常.但我希望class参数是可选的. boolean b = preferences.get(key); 所以我添加了一个额外的方法: public <T> T get(String key) { // return get(key,Class<T>); } 现在问题:有没有办法做到这一点?有没有办法获得一个/< T>的实例. 可以使用一个小的解决方法: public <T> T get(String key,T... args) { return get(key,(Class<T>) args.getClass().getComponentType()); } public <T> T get(String key,Class<T> clazz) { System.out.println("key : " + key); System.out.println("clazz: " + clazz); } // using Boolean b = get("mykey"); 解决方法
你不能.但是如果你想将class参数设置为可选,只需传递null并在使用它时检查它是否为null.
如果你想从左侧推断它 – 这是不可能的. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
推荐文章
站长推荐
- 使用Java EE 6进行RESTful Web开发 – 有哪些选择
- java – tomcat7与tomcat6,性能有什么显着差异?
- 【Android工具类】Activity管理工具类AppManager
- Java下利用Jackson进行JSON解析和序列化示例
- 将图片转成base64字符串并在JSP页面显示的Java代
- java – 使用ServletContextListener和SLF4J在co
- 我得到了javax.net.ssl.SSLPeerUnverifiedExcept
- .net-3.5 – Async / await for compact framewo
- java编程之AC自动机工作原理与实现代码
- 获取图像路径JavaFx
热点阅读