【问题标题】:How to convert object name to a String?如何将对象名称转换为字符串?
【发布时间】:2017-09-08 01:15:33
【问题描述】:

我重写了 toString 方法,以便我的对象返回它们的 ID(我在对象中设置的参数。

@Override
    public String toString(){
        return getId();
}

我遇到的问题是,我正在搜索包含对这些对象的引用的列表,并且我希望能够在 X 对象存在时执行某些操作。

为了做到这一点,我需要我的程序能够将返回的对象 ID 解释为字符串,因为我正在进行比较(以检查它是否存在)。

所以我的问题是,如何将对象引用转换为字符串以便进行比较。还是有更好的方法可以做到这一点?

【问题讨论】:

  • 一时还不太清楚你想做什么...
  • 如果您有对象列表并且需要根据对象属性过滤列表,您可以使用流:list.stream().filter(obj -> X.equals(obj.getId())).foreach(System.out::println)
  • 什么意思?对象本身没有名称。变量有名称,变量是对对象的引用。无法从对象中获取引用该对象的变量的名称。如果您认为这是您需要的,那么您很可能对变量和对象有误解,还有其他更好的方法可以解决您的问题。
  • 问题不是很清楚,但没有必要为您想要实现的目标覆盖toString (我认为)。 Check the HashMap documentation 我认为这将解决您正在尝试做的事情
  • 你想比较他们的身份证号码吗?因为您只是返回他们的 ID 号.. 当您调用覆盖的 toString 方法时,

标签: java string object comparison


【解决方案1】:

如果你想比较他们的id号,你可以创建一个Object的重载方法

String idNumber;
public boolean equals(YourSuperClass yourSuper)
{
    if(idNumber.equals(yourSuper.getId()))
       return true;
    else
       return false;
}

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-12-25
    • 2021-05-22
    • 1970-01-01
    • 2013-01-12
    相关资源
    最近更新 更多