[英]Array interface generic in java
public class MyArrayImp<T extends Comparable<T>> implements MyArray<T> {
private MyArrayImp[] m;
private int i;
private T element;
@Override
public T get(int i) {
return (T) m[i].element;
}
@Override
public void set(int i, T e) {
m[i].element = e;
}
etc...
我想用 MyArrayImp 类实现一个具有以下接口的通用数组类
public interface MyArray<T extends Comparable<T>> {
T get(int i);
void set(int i, T e);
int min();
int max();
int nbBetween(T e1, T e2);
}
最后创建一个 MyArrayFactory 类,它创建并返回一个大小为 n 的数组 public static > MyArray getMyArray(int n) { return new ...; }
我不想要该方法,我只想知道如何使用接口实现类并从另一个类创建对象。
我会这样定义:
public class MyArrayImp<T extends Comparable<T>> implements MyArray<T> {
private T[] m;
@SuppressWarnings("unchecked")
public MyArrayImp(Class<T> clazz, int size) {
this.m = (T[]) Array.newInstance(clazz, size);
}
@Override
public T get(int i) {
return m[i];
}
@Override
public void set(int i, T e) {
m[i] = e;
}
...etc
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.