java - 需要更新java中的toString方法
问题描述
结果,下面的代码应该打印名称,但是相反,我得到了以下结果 com.flight.Passenger@659e0bfdAs并且根据我的理解, toString 方法应该被覆盖,如果我错了,如果我是对的,请纠正我请帮我在这里覆盖 toString 方法。
非常感谢您的及时回复,但我仍然有以下问题:
因为我得到了成功的结果,但是有什么方法可以打印出 Bob、Reeta 等参考变量的名称?
package com.flight;
import java.util.Arrays;
public class Passenger implements Comparable {
private int memberLevel;
private int memberDays;
public void setLevel(int memberLevel, int memberDays)
{
this.memberLevel = memberLevel;
this.memberDays = memberDays;
}
public int compareTo(Object o)
{
Passenger p = (Passenger) o;
if(memberLevel> p.memberLevel)
return -1; //negative comes first
else if(memberLevel< p.memberLevel)
return 1; // positive comes afterwards
else {
if(memberDays> p.memberDays)
return -1;
else if(memberDays< p.memberDays)
return 1;
else
return 0;
}
}
public static void main (String[] args)
{
Passenger Bob = new Passenger();
Passenger Reeta = new Passenger();
Passenger Mannat = new Passenger();
Passenger Asses = new Passenger();
Bob.setLevel(1,40);
Reeta.setLevel(1,55);
Mannat.setLevel(2,50);
Asses.setLevel(1,95);
Passenger[] pa = {Bob,Reeta,Mannat, Asses};
//Arrays.sort(pa);
for(Passenger pb : pa)
System.out.println(pb);
}
}
解决方案
@Override
public String toString() {
return this. memberLevel + " " + this. memberDays;
}
推荐阅读
- excel - 如何使用基于自定义数字格式的 countif
- testing - 赛普拉斯抛出 SyntaxError: 'import' 和 'export' 可能只出现在 'sourceType: module' (17:0)
- node.js - 使用 MulterGoogleStorage 和 NestJS 删除文件
- java - 拆分数字时将空字符串添加到字符串数组
- java - Java保存文件在程序重新启动时清除
- c++ - 如何验证所有正确的输入数字C++
- c - 如何在 C txt 文件中读取一行中的单词数
- python-3.x - 用于为模型创建 train.record 的 Tensorflow KeyError
- python - discord.py 嵌入带有时间戳的页脚
- angular - 如何在 *ngfor 中显示数组对象的数组