[英]Is there a way to implement a type-safe vector in Java?
我正在尝试使用 Java 为我的编码分配实现一个向量。 我想将有关向量维度的信息放入其类型中,以使我的代码更安全。
我试图将向量表示为int[n]
,但以下代码未编译。
public static int[n] createVector(int n) {
return new int[n];
}
编译的output:
src\Main.java:59: error: ']' expected
public static int[n] createVector(int n) {
^
src\Main.java:59: error: ';' expected
public static int[n] createVector(int n) {
^
src\Main.java:59: error: invalid method declaration; return type required
public static int[n] createVector(int n) {
^
3 errors
我认为问题在于 java 中的所有 int arrays 具有相同的类型,我无法对其进行专门化。
有没有办法在 Java 中做到这一点?
你将如何处理不同维度的向量? 这是一种类型还是不同类型的类型?
class Vector<T> { private final int dimension; private T[] elements; public Vector(Class<T> clazz, int dimension) { this.dimension = dimension; this.elements = (T[]) Array.newInstance(clazz, dimension); } // any useful methods here }
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.