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/