java - B b 和 A<B> b 之间的区别

标签 java types

假设类 B 扩展类 A,并且我想为 B 声明一个变量。什么更有效?为什么?

  1. B b
  2. A<B> b .

最佳答案

您混淆了两个不同的概念。

class B extends A {

}

意味着B A .

如果您有类似 A<B> 的内容这意味着您上课A定义为

class A<T> {

}

意味着你上课A是一个泛型类。

例如(过于简化)你有

class List<T> {

}

所以如果 T取值String你会有List<String>表示字符串列表

所以A<B>并不意味着B extends A .

您应该使用B b .

关于java - B b 和 A<B> b 之间的区别,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3010754/

相关文章:

c - GCC 中是否有 __int32 的对应项?

java - 具有多个方法源的 JUnit5 参数化测试

JavaFX:自定义组件仅在 Runnable JAR 中抛出 LoadException

go - 给一个变量赋值 "label"类型,或者如何在指针之间进行类型转换

r - ifelse 和 POSIXct : coercion and default class of NA

postgresql - 如何编写返回文本或整数值的函数?

java简单的正则表达式

java - 如何在 gradle 3 或更高版本中使用 jar 文件?

java - 将自定义 ListView 与图像和文本放在一起

c++ - Windows 编程和数据类型