gpt4 book ai didi

java - 谁能解释我在编译这个程序时得到的输出?

转载 作者:搜寻专家 更新时间:2023-10-31 08:23:00 25 4
gpt4 key购买 nike

当我得到一个奇怪的输出时,我执行了下面提到的代码。任何人都可以解释为什么我得到这个输出吗?

代码:

public class Bar {

static void foo( int... x ) {
System.out.println(x);
}
static void foo2( float... x ) {
System.out.println(x);
}
public static void main(String args[])
{
Bar.foo(3,3,3,0);
Bar.foo2(3,3,3,1);
Bar.foo(0);
}
}

输出

[I@7a67f797
[F@3fb01949
[I@424c2849

为什么我们得到 "[I@"/"[F@" 前缀和后面的 8 个字母数字字符,它们是内存地址吗?

最佳答案

Java 数组有一个toString() 方法,它简单地显示数组的类型([I),然后是一个@,后跟数组的哈希码 (7a67f797)。这个值几乎没有意义。 toString() 是对传递给 System.out.println() 的每个对象调用的方法。

如果要查看数组的内容,请使用 java.util.Arrays.toString(array)

关于java - 谁能解释我在编译这个程序时得到的输出?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20298626/

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