我想将对象数组打印为字符串。这是我的代码。
我已按照此页面中的说明进行操作,但无法获取。 https://www.java67.com/2014/03/how-to-print-array-in-java-example-tutorial.html
class Tiger extends Animal implements Comparable<Tiger>
{
@Override
public int compareTo(Tiger t)
{
return this.stripes-t.stripes;
}
int stripes;
Tiger(String color,String name,int stripes)
{
super(color,name);
this.stripes=stripes;
}
@Override
void move()
{
System.out.println("Tiger moving");
}
}
class Main1
{
public static void main(String[] args)
{
Tiger[] tigers={new Tiger("red","tiger_1",12),
new Tiger("red","tiger_2",8),
new Tiger("red","tiger_3",10)};
Arrays.sort(tigers);
System.out.println( Arrays.toString(tigers));
}
}
我尝试了Arrays.toString。但是输出非常像这样:[Tiger@7d4991ad, Tiger@28d93b30, Tiger@1b6d3586]
答案 0 :(得分:1)
在Tiger类中重写toString类。无论您要打印老虎对象的任何信息,都只需将信息作为字符串返回即可。然后,每当您打印Tiger类时,都会打印此字符串。例如,以下toString的实现将打印Tiger对象的name属性。
@Override
public String toString(){
return this.name:
}
答案 1 :(得分:0)
您需要覆盖toString()
中的Tiger
才能自定义默认实现。某事:
@Override
public String toString()
{
return "Tiger{name=" + name + ", color=" + color + ", stripes=" + stripes + "}";
}
假设name
和color
从Animal
继承。
答案 2 :(得分:0)
首先,您应覆盖toString()
类中的Tiger
Class Tiger{
....
..
@override
public String toString(){
return name+" "+ color;
}
}
然后您可以使用tiger.toString
答案 3 :(得分:0)
在Tiger类中重写toString()
import java.util.*;
class Tiger implements Comparable<Tiger>
{
@Override
public int compareTo(Tiger t)
{
return this.stripes-t.stripes;
}
int stripes;
String color;
String name;
Tiger(String color,String name,int stripes)
{
this.color=color;
this.name=name;
this.stripes=stripes;
}
@Override
public String toString()
{
return color + " " + name + " " + stripes;
}
}
public class Main1
{
public static void main(String[] args)
{
Tiger[] tigers={new Tiger("red","tiger_1",12),
new Tiger("red","tiger_2",8),
new Tiger("red","tiger_3",10)};
Arrays.sort(tigers);
System.out.println( Arrays.toString(tigers));
}
}
输出量:-
[红虎_2 8,红虎_3 10,红虎_1 12]