java – 为什么在这种情况下,Class没有很好的泛型类型?
发布时间:2020-12-14 16:25:17 所属栏目:Java 来源:网络整理
导读:在这段代码中,为什么不能将类型声明为Class?延长B public class FooB { public void doSomething(B argument) { Class? extends Object type = argument.getClass(); }} 解决方法 这个问题是Java的语法不允许getClass()表示它返回一个与其定义的类匹配的类
在这段代码中,为什么不能将类型声明为Class?延长B>
public class Foo<B> { public void doSomething(B argument) { Class<? extends Object> type = argument.getClass(); } } 解决方法
这个问题是Java的语法不允许getClass()表示它返回一个与其定义的类匹配的类型,而且就编译器而言,这不是一个特殊情况.所以你被迫投降了.
在许多情况下,您希望能够指定此类型,例如为了链接,所以我希望他们包括这个功能有一天. 你可以写 Class<? extends this> getClass(); 要么 public this clone(); // must return a type of this class. 要么 class ByteBuffer { this order(ByteOrder order); } class MappedByteBuffer extends ByteBuffer { } // currently this won't work as ByteBuffer defines order() MappedByteBuffer mbb = fc.map(MapMode.READ_WRITE,fc.size()) .order(ByteOrder.nativeOrder()); (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
相关内容
- Java Antivirus …是可能吗?怎么样?
- 使用JavaFX 2的组合框渲染POJO,而不会覆盖toString()方法
- OIO在java中意味着什么?
- Java多线程中线程的两种创建方式及比较代码示例
- MyBatis中传入参数parameterType类型详解
- 浅谈java 重写equals方法的种种坑
- 使用Java/Kotlin进行编程时,建议使用Tail递归或迭代版本?性
- 在jsp中用bean和servlet联合实现用户注册、登录
- 如何在RxScala / Java中使用多个线程执行map,filter,flatMa
- java – 如何在Spring Web MVC Cycle中运行formbackingobje