gpt4 book ai didi

java - 打印出数组的元素,它显示哈希码而不是值

转载 作者:行者123 更新时间:2023-12-02 03:58:15 28 4
gpt4 key购买 nike

下面是类(class)。静态方法 findMax 返回 arr[maxIndex] ,当我尝试在 main 方法中打印它时,我得到的是内存位置而不是值。我想打印出数组某个索引处的值。

我想打印该值,但不更改现有方法(所以我必须通过主解决问题)。

public class Problem1 
{
public static <AnyType extends Comparable<AnyType>> AnyType findMax(AnyType[] arr)
{
int maxIndex = 0;
for (int i = 1; i < arr.length; i++)
if ( arr[i].compareTo(arr[maxIndex]) > 0 )
maxIndex = i;
return arr[maxIndex];
}

public static void main(String[ ] args)
{
Rectangle rect1 = new Rectangle(1,2);
Rectangle rect2 = new Rectangle(2,2);
Rectangle rect3 = new Rectangle(3,2);
Rectangle rect4 = new Rectangle(4,2);
Rectangle rect5 = new Rectangle(5,3);

Rectangle[ ] rectangles = new Rectangle[5];
rectangles[0] = rect1;
rectangles[1] = rect2;
rectangles[2] = rect3;
rectangles[3] = rect4;
rectangles[4] = rect5;

System.out.println(findMax(rectangles));

}

}

最佳答案

您的findMax()方法返回一个矩形。默认情况下,Java 不知道如何打印矩形。因此,您需要重写该类的 toString() 。目前,使用默认值 Object.toString(),它只是打印哈希码。

关于java - 打印出数组的元素,它显示哈希码而不是值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35216040/

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