Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/arrays/14.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/loops/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 索引对象';根据其位置确定其属性_Java_Arrays - Fatal编程技术网

Java 索引对象';根据其位置确定其属性

Java 索引对象';根据其位置确定其属性,java,arrays,Java,Arrays,我有一个包含不同对象数组的对象: long [] arr_1 = {1,2,3,4,5,6}; int [] arr_2 = {1,2,3,4,5,6}; double [] arr_3 = {1.0,2.0,3.0,4.0,5.0,6.0}; String [] arr_4 = {"1","2","3","4","5","6"}; Grouping obj = new Grouping(arr_1, arr_2, arr_3, arr_4); 然后我有一个名为Grouping的类,它存储这4

我有一个包含不同对象数组的对象:

long [] arr_1 = {1,2,3,4,5,6};
int [] arr_2 = {1,2,3,4,5,6};
double [] arr_3 = {1.0,2.0,3.0,4.0,5.0,6.0};
String [] arr_4 = {"1","2","3","4","5","6"};
Grouping obj = new Grouping(arr_1, arr_2, arr_3, arr_4);
然后我有一个名为Grouping的类,它存储这4个不同的数组:

public class Grouping(){

    private long [] a;
    private int [] b;
    private double [] c;
    private String [] d;

    public Grouping(long [] a, int [] b, double [] c, String [] d){
        this.a = a; this.b = b; this.c = c; this.d = d;
    }
}
现在我想将其发送到for循环中,并比较数组中的值

注意:“比较(obj[j]到obj[k])不起作用,这是我需要帮助的一行

    for (int j=0; j<4; j++){
        for (int k=0; k<4; k++){
             compare(obj[j] to obj[k]);
         }
     }

for(intj=0;j尝试在另一个数据结构中添加a、b、c和d。

例如,如果使用ArrayList(或其他列表),可以使用get(int index)方法来获取所需的索引。

如果没有
get
方法,则需要使用
表示法

for (int j=0; j < obj.a.length ; j++){

    obj.compare(obj.a[j], obj.b[j]);

}

这不能像您介绍的那样完成--请考虑将四个数组中的每一个都存储在另一个数组或另一个数据结构中。您到底在比较什么,以及您希望根据比较结果发生什么?
obj
不是数组。因此,您不能使用
[]
notation。我想比较对象的第j个属性和对象的第k个属性。我真正想做的是使用“assertEquals()”来测试多个值。@PM77-1:我很清楚我不能使用[]符号。这就是我问这个问题的原因。你不能在arraylist中存储不同的数据类型。你可以尝试对象的arraylist,并在需要时使用强制转换。但我不确定是否会有帮助…for循环被放置在主类中。分组中没有比较方法。那一行“obj.compare”"这是我不知道如何实现的一行,因此这个问题是要问的。你不能在不存在的地方调用
compare
方法。如果你试图进行比较,请参阅我的编辑。你到底想通过这种比较实现什么?你期望得到什么样的结果?也许有一个解决方法我相信你遗漏了一点here:您不能使用这种语法,因为
obj
不是数组。@PM77-1,我理解。但是如果OP试图比较数组中的值,他可以这样做。例如,他可以像我一样比较所有值,如果所有值都相等,他可以有一个表示两个数组相等的布尔值。除此之外,您是对的,我可能遗漏了OP想要完成的事情。
for (int j = 0; j < obj.a.length; j++){

    if (obj.a[j] == obj.b[j]){
        // do something
    }

}