java:在定制通用向量的中间插入元素

java:在定制通用向量的中间插入元素,java,generics,vector,Java,Generics,Vector,我正在尝试编写一个代码,在JAVA中的泛型向量中间插入一个字符串/整数/null。但这部分代码不可编译。有什么问题吗?非常感谢。我还添加了错误消息 public synchronized void addToPosition (T element, int index) { if (index+1 == size-1) { ensureCapacity(); } System.out.println("Add element to position:");

我正在尝试编写一个代码,在JAVA中的泛型向量中间插入一个字符串/整数/null。但这部分代码不可编译。有什么问题吗?非常感谢。我还添加了错误消息

public synchronized void addToPosition (T element, int index) {
    if (index+1 == size-1) {
        ensureCapacity();
    }
    System.out.println("Add element to position:");
    Scanner scanner = new Scanner(System.in);
    index = scanner.nextInt();
    if (index < 0 || index > this.index-1) {
        throw new IndexOutOfBoundsException();
    }
    T[] newElementData = (T[]) new Object [size];
    for (i = 0; i < index; i++) {
        newElementData[i] = elementData[i];
    }
    System.out.println("Which element to add?");
    element = (T) scanner.nextLine();
    newElementData[index] = element;
    for (i = index+1; i < this.index; i++) {
        newElementData[i] = elementData[i+1];
    }
    elementData = newElementData;
    this.index++;
}
公共同步的void addToPosition(T元素,int索引){
如果(索引+1==大小-1){
保证再产能();
}
System.out.println(“将元素添加到位置:”);
扫描仪=新的扫描仪(System.in);
索引=scanner.nextInt();
如果(索引<0 | |索引>this.index-1){
抛出新的IndexOutOfBoundsException();
}
T[]newElementData=(T[])新对象[大小];
对于(i=0;i

正如您在评论中所说,您可以这样调用
addToPosition()
方法:

vectorList.addToPosition();
而方法签名如下所示:

public synchronized void addToPosition (T element, int index) {
所以他们不匹配。例如,可以删除以下参数:

public synchronized void addToPosition () {
    T element;  // the values you will read later from user input
    int index;

看起来错误不在这里。在调用此方法的代码中,我在主函数中调用此方法:MyVector vectorList=new MyVector();vectorList.AddTopoPosition();。。。您的签名也(大部分)被忽略,因为您使用控制台在方法内部添加元素,而不是从外部传递它们(通常是预期的)。这里面似乎有来自其他方法的代码(特别是,
ensureCapacity()
),以及属于调用它的任何方法的代码。现在这是一个愚蠢的错误。谢谢,我看到这个代码仍然有很多问题,但我会处理它。