java - Java中with extend有哪些方法可以设置上限

标签 java generics parameterized-types

我只是想检查这是否可能/Java 是否可能。我着手制作可用于有界字符串系列的 Java 版模板(即通用类)。

    public abstract class BoundedNameType<U extends Integer> extends NameType
    {
         private static final   MAX_LEN = U;

         private BoundedNameTypes( final String... parameters ){

            super( MAX_LEN, parameters );

        }

    }//BoundedNameType

父类使用 U 作为 MAX_LEN 的值,例如

    public abstract class NameType
    {

         private NameType( final Integer u, final String... parameters ){

            this.maxLen = u;
        }

    }//NameType

或者也许做得更好,使 MAX_LEN 受到抽象保护,因此我不需要“maxLen”成员,并且最大值始终可以是静态最终值。我的努力和阅读表明 Java 中的泛型只是类型,所以它不应该工作。我已经放下链接,是时候使用声明来做到这一点了;我仍然想知道是否有更严格的泛型方法来做到这一点!?或者说最终的答案是“否”。

另见:

最佳答案

这在 Java 中是不可能的。泛型参数必须是类型。

Java 泛型仅在表面上类似于 C++ 模板。

关于java - Java中with extend有哪些方法可以设置上限,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27834078/

相关文章:

java:读取大型二进制文件

java - ServiceClass对象未实现以下形式的所需方法: OMElement add(OMElement e)

java - 在java中填充通用数组

c++ - 在索引和值类型上参数化的惯用 vector 类型

java - Spring 值和引用值之间的差异

java.lang.ClassCastException 编译时检查本来可以用更好的方式处理

java - 获取所有扩展类并推断某些泛型的类

c# - 在 select 语句中使用命名元组

Scala Def Macros - 如何获取符号的参数化类型成员?