gpt4 book ai didi

java - Java 中整数数组的排序和比较

转载 作者:行者123 更新时间:2023-12-01 16:53:35 26 4
gpt4 key购买 nike

我能够对数组进行排序,并且能够在单独的步骤中比较数组,但是当我尝试在同一行中执行这两个操作时,我收到错误。从Java文档来看,sort方法应该返回一个与传入它的类型相同的数组,而equals方法应该返回一个 boolean 值。

我在这里误解/误用了什么?

这是我用于测试情况的​​代码:

import java.util.Arrays;

public class test {

public static void main(String[] args) {
int[] arr1 = {2,4,5,3,1};
int[] arr2 = {4,3,2,1,5};

if (Arrays.equals(Arrays.sort(arr1), Arrays.sort(arr2))) { // Problem line
System.out.println("Same contents");
}
else {
System.out.println("Different contents");
}
}
}

据我所知,我创建了 2 个具有相同内容的数组。然后,我调用 Arrays.equals(),对于它的 2 个参数,我传入对每个数组调用 Arrays.sort() 的结果。

尝试编译时,出现以下错误:

test.java:9: error: 'void' type not allowed here
if (Arrays.equals(Arrays.sort(arr1), Arrays.sort(arr2))) {
^
test.java:9: error: 'void' type not allowed here
if (Arrays.equals(Arrays.sort(arr1), Arrays.sort(arr2))) {
^
2 errors
shell returned 1

最佳答案

Arrays.sort()方法不返回数组;

这样做:

Arrays.sort(arr1);
Arrays.sort(arr2);
if (Arrays.equals(arr1, arr2)) {
// rest of code

关于java - Java 中整数数组的排序和比较,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35854272/

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