gpt4 book ai didi

java - ArrayList 类中的 toString() 是否被重写

转载 作者:行者123 更新时间:2023-12-01 16:59:22 31 4
gpt4 key购买 nike

class Employee
{
String name ;
// Constructor
Employee(String name) {
this.name = name;
}
// override toString method in Employee class
@Override
public String toString() {
return name;
}
}

public class TestArraylistIterator {

public static void main(String[] args) {
Employee obj1 = new Employee("Java");
Employee obj2 = new Employee("Microsoft");

TestArraylistIterator obj3 = new TestArraylistIterator();

List ls = new ArrayList();
ls.add(obj1);
ls.add(obj2);
System.out.println("List object :: " + ls);
System.out.println("TestArraylistIterator :: " + obj3);
}
}

output :
List object :: [Java, Microsoft]
TestArraylistIterator :: TestArraylistIterator@ad3ba4

所以问题是:如果我们尝试打印任何对象,它会打印 obj.getClass()+"@"+obj.hashCode()。但是在打印列表对象时,它不会以相同的方式打印列表对象。相反,它看起来像 toString() 已经在 ArrayList 类中被重写。但在 ArrayList API 实现中没有找到类似的东西。欢迎任何建议..

最佳答案

不,但它在 AbstractCollection 中被覆盖,其中 ArrayList 是其间接子类。

供将来引用:查看 Java API 文档时,在“方法摘要”下方,可能有多个“从类 SomeClass 继承的方法”部分。在 documentation for ArrayList ,它表明 toString() 继承自 AbstractCollection

关于java - ArrayList 类中的 toString() 是否被重写,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28903531/

31 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com