gpt4 book ai didi

java - 返回 ArrayList 时出错 - 方法的返回类型不兼容(初学者)

转载 作者:行者123 更新时间:2023-12-01 13:18:37 24 4
gpt4 key购买 nike

这是我的代码。我面临的问题是,我想返回一个整数序列,我计划使用整数 ArrayList。以下是我的类,它实现了名为 IntSequence 的接口(interface)。

import java.util.*;
public class IntArray implements IntSequence {

int[] a;

public IntArray(int size) {
a = new int[size];
}

@Override
public int length() {
return a.length;


}

@Override
public int get(int index) {

int use = this.a[index];
return use;
}

@Override
public void set(int index, int value) {
this.a[index] = value;
}



@Override
public IntSequence subSequence(int index, int size) {
ArrayList<Integer> valuelist = new ArrayList<>();
for(int i = a1; i <= a2 + a1; i++)
{
if((a1 + a2) <= a.length)
valuelist.add(a[i]);
}
IntArray cObject = new IntArray(size);



return new IntSequence() {

@Override
public int length() {
return a.length;

// TODO Auto-generated method stub
}

@Override
public int get(int index) {
return null;

// TODO Auto-generated method stub

}

@Override
public void set(int index, int value) {
// TODO Auto-generated method stub

}

@Override
public IntSequence subSequence(int index, int size) {
return (IntSequence) valuelist;
}
};
}
}

这是我的 IntSequence 接口(interface) -

public interface IntSequence {

int length();

int get(int index);

void set(int index, int value);

IntSequence subSequence(int index, int size);
}

问题 - 我在子序列中返回的是一个 ArrayList,它是该方法返回的不兼容类型。我是一个初学者,老实说不知道如何解决这个问题。 (我不允许更改方法的参数,但仍设法做到这一点)。

预先感谢您花时间查看此内容,我真的很感激!

最佳答案

您正在尝试返回 ArrayList,而不是新的 IntArray。

不要使用ArrayList。创建

    IntArray cObject = new IntArray(size);

然后在其上设置值。我会把这一点留给你:)

然后...(不需要内联类)

    return cObject;

关于java - 返回 ArrayList 时出错 - 方法的返回类型不兼容(初学者),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22240950/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com