【发布时间】:2015-03-01 07:03:20
【问题描述】:
我是 Java 新手,正在尝试做一些类似于以下 C++ 模板的事情:
template <int value_>
class Foo{
....
};
其中具有不同value_ 的实例的行为相同,但具有不同value_ 的两个实例之间的交互将取决于value1 和value2。特别是,如果 value1 != value2 在某些函数中会导致编译时失败。
一种可能的解决方案是将此类值存储在 java 类中并引发运行时异常,但编译时检测会很有用。
【问题讨论】:
-
您将无法使用 Java 泛型实现编译时检测。
-
谢谢!有没有其他方法可以在没有额外内存存储或代码重复的情况下进行某种编译时检查?
-
我不知道。 Java 泛型基本上只是隐藏了它们编译的 Java 字节码以在任何地方使用
Object。
标签: java c++ templates generics