我的程序打印对象而不是字符串时遇到问题。
我有一个名为constants.java的类
其中有以下内容:
public interface constants
{
String[] FIELD_NAMES =
{
"test1", "test2"
};
}
在我的主类中,我尝试打印这些字段。
public void fillFields() {
for (int i = 0; i < plate.length; i++) {
// Det her er noget quick-and-dirty-fusk:
switch (i + 1) {
// Andre felter:
case 1:
plate[i] = new OtherField(Constants.FIELD_NAMES[i], i + 1);
break;
default:
plate[i] = new OtherField(Constants.FIELD_NAMES[i], i + 1);
}
这是主要的字符串打印函数:
public static void main(String[] args)
{
System.out.println(plate[current.getPos()]);)
}
getPos 是一个数字生成器(假设在 1 和 2 之间),当前是玩家索引,我已经检查过它,它正在工作。但当我FX。落在“otherField
”板上,我得到如下输出:otherfield@1b6d3586
我认为这是因为我打印的是对象而不是字符串,但我该如何解决这个问题?
最佳答案
您正在打印 OtherField
的实例。如果您希望它打印更有意义的内容,则必须重写此类中的toString()
。否则,它只是使用 Object::toString()
类的默认实现。
关于java - 输出: object@1b6d3586 java,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26973634/