Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/sorting/2.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_Sorting_Object_Arraylist_Comparator - Fatal编程技术网

为什么我会收到这个结果?JAVA

为什么我会收到这个结果?JAVA,java,sorting,object,arraylist,comparator,Java,Sorting,Object,Arraylist,Comparator,我正在学习使用比较器,在执行我的程序时,我在控制台中得到了一个非常奇怪的结果: 我定义了一个名为Zapato的对象,该对象的属性值在向用户请求参数后通过参数传递: public class Zapato { int talla; String color; int precio; public Zapato (int talla,String color,int precio){ this.talla = talla; this

我正在学习使用比较器,在执行我的程序时,我在控制台中得到了一个非常奇怪的结果:

我定义了一个名为Zapato的对象,该对象的属性值在向用户请求参数后通过参数传递:

public class Zapato {

    int talla;
    String color;
    int precio;

    public Zapato (int talla,String color,int precio){
        this.talla = talla;
        this.color = color;
        this.precio = precio;
    }

}
然后我创建了一些基于颜色或价格的比较器

public class OrdenarPorColor implements Comparator<Zapato>{

    @Override
    public int compare(Zapato z1, Zapato z2) {

        return z1.color.compareTo(z2.color);
    }
}
但是当程序打印它们System.out.println(listaZapatos)时,它应该看起来像

45罗莎32,56蓝色21,34佛得角46

但我在控制台上收到了以下信息:

[Main。Zapato@2ff4acd0,Main。Zapato@279f2327,Main。Zapato@54bedef2]

当我每次在System.out.println(“Zapato introcido es:”+listaZapatos.get(2))中请求使用引入的值打印创建的对象时,它也会出现,因此我收到如下内容:


Main。Zapato@2ff4acd0

您需要重写Zapato类中的
toString
实现。打印集合时,该方法将在内部对该集合中的每个对象调用
toString()
。默认的
toString
实现为您提供所需的数据

这样做会有所帮助:

@Override
public String toString()
{
    return color + ":" + talla;
}

在你的
Zapato
课上

工作得很有魅力!
@Override
public String toString()
{
    return color + ":" + talla;
}