gpt4 book ai didi

java - 字符串变量突然变成字母和数字的组合

转载 作者:行者123 更新时间:2023-12-01 06:43:51 24 4
gpt4 key购买 nike

我有一个 JLabel PlayerLabel 数组和 PlayerName 数组,按以下方式初始化

        String [] PlayerName;
PlayerName = new String[4];
for (int i=0;i<4;i++)
{
PlayerName[i] = "None1";

}

JLabel [] PlayerLabel;

PlayerLabel = new JLabel[4];

for (int i=0;i<4;i++)
{
String num = Integer.toString(i);
String output = "Player " + num + " : " + PlayerName;

PlayerLabel[i] = new JLabel(output);
PlayerLabel[i].setForeground(Color.white);

}

我希望 JLabel 的文本为

Player 1 : None1

相反,我得到

Player 1 : java.lang.String;@4e9fd887

每次我重新启动程序时,@15150ef8部分都会更改为不同的数字和字母组合。

当我初始化它时,PlayerName是好的 enter image description here

我不知道为什么PlayerName在添加到输出时会变得奇怪

enter image description here

发生了什么事,我该如何解决这个问题?

最佳答案

当您执行+ Playername时,您将打印数组本身,而不是数组中的元素。当您尝试将对象连接到字符串时,将调用该对象的 toString() 方法,并且数组从 Object 继承其 toString() :

public String toString() {
return getClass().getName() + "@" + Integer.toHexString(hashCode());
}

这可能不是您想要的。

您可能想做Playername[i]

关于java - 字符串变量突然变成字母和数字的组合,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23637537/

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