Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/58.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 将对象数组打印为字符串_Java - Fatal编程技术网

Java 将对象数组打印为字符串

Java 将对象数组打印为字符串,java,Java,我想将对象数组打印为字符串。这是我的密码。 我已按照此页中的说明进行操作,但无法获取它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) {

我想将对象数组打印为字符串。这是我的密码。 我已按照此页中的说明进行操作,但无法获取它<代码>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));



    }
} 

老虎类动物器具
{
@凌驾
公共国际比较(老虎t)
{
返回此.stripes-t.stripes;
}
内部条纹;
Tiger(字符串颜色、字符串名称、整型条纹)
{
超级(颜色、名称);
这个。条纹=条纹;
}
@凌驾
无效移动()
{
System.out.println(“老虎移动”);
}
}
Main1类
{
公共静态void main(字符串[]args)
{
老虎[]老虎={新老虎(“红色”,“老虎1”,12),
新老虎(“红色”,“老虎2”,8),
新老虎(“红色”,“老虎3”,10)};
数组。排序(老虎);
System.out.println(Arrays.toString(tigers));
}
} 

我试过array.toString。但是输出是非常类似于这样的:
[Tiger@7d4991ad, Tiger@28d93b30, Tiger@1b6d3586]

您需要覆盖
Tiger
toString()
,以自定义默认实现。类似于:

@Override
public String toString()
{
    return "Tiger{name=" + name + ", color=" + color + ", stripes=" + stripes + "}";
}

假设
名称
颜色
是从
动物
继承的

首先,您应该在类
老虎
中重写
toString()

Class Tiger{
....
..

@override
public String toString(){

  return name+" "+ color;
}

}

然后可以使用
tiger.toString

重写tiger类中的toString类。无论你想打印一个tiger对象的什么信息,只要把信息作为字符串返回就行了。然后,无论何时打印tiger类,都将打印此字符串。例如,下面的toString实现将打印tiger对象的name属性

@Override
public String toString(){
    return this.name:
}
重写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));



    }
}
import java.util.*;
类Tiger实现了可比性
{
@凌驾
公共国际比较(老虎t)
{
返回此.stripes-t.stripes;
}
内部条纹;
字符串颜色;
字符串名;
Tiger(字符串颜色、字符串名称、整型条纹)
{
这个。颜色=颜色;
this.name=name;
这个。条纹=条纹;
}
@凌驾
公共字符串toString()
{
返回颜色+“”+名称+“”+条纹;
}
}
公共类main 1
{
公共静态void main(字符串[]args)
{
老虎[]老虎={新老虎(“红色”,“老虎1”,12),
新老虎(“红色”,“老虎2”,8),
新老虎(“红色”,“老虎3”,10)};
数组。排序(老虎);
System.out.println(Arrays.toString(tigers));
}
}
输出:-

[红虎2 8,红虎3 10,红虎1 12]


重写你的
Tiger
类中的
toString()
方法。@shreshbhat如果它对你有帮助,请把我的答案投上一票,这样它也会对其他人有帮助。