我正在尝试打印我添加到我的arraylist中的所有元素,但是它只打印地址而不是字符串。
有人可以帮我或给出一些提示吗? 我整个下午都在搜寻

===============>>#1 票数:3

您需要重写Autuer的toString方法以String格式返回其内容

===============>>#2 票数:1

您也可以使用foreach来完成它;)

for(Auteur a: auteurs){
    System.out.print(a.getName() + " - " + a.getNumber());
}

===============>>#3 票数:0

Java中的每个对象都继承

public String toString();

java.lang.Object

在您的Auteur类中,您需要编写一些类似于以下内容的代码:

.... ....

@Override
public String toString() {
    return "Name: "+this.name;
}

===============>>#4 票数:0

尝试如下在Auter类中定义toString()方法:

public String toString() {
    return this.getName() + " - " + this.getNumber());
}

并且您的代码将按您的意愿执行。 System.out.println调用参数的toString()方法并将其输出到输出控制台。

===============>>#5 票数:0

itr.next()返回Auteur对象,而不是String 要打印您需要输入与投它的名字Auteur ,然后打印出来,如果你有该类的打印方法Auteur

Auteur aut = (Auteur) itr.next();
System.out.println(aut.printMethod());

===============>>#6 票数:0

您所看到的称为对象的默认toString 它是其所属类的FQCN(完全限定的类名)和该对象的hashCode的组合。

引用toString的JavaDoc:

Object类的toString方法返回一个字符串,该字符串包括该对象是其实例的类的名称,符号字符“ @”以及该对象的哈希码的无符号十六进制表示形式。 换句话说,此方法返回的字符串等于:

  getClass().getName() + '@' + Integer.toHexString(hashCode()) 

我们可以重写toString以提供更易读的输出。 看一下下面的两个类,有和没有toString 尝试执行main方法并比较两个打印语句的输出。

class Person {
    private String name;

    @Override
    public String toString() {
        return "Person [name=" + this.name + "]";
    }
}

class Address {
    private String town;
}

public class Test {
    public static void main(String... args) {
        Person person = new Person();
        Address address = new Address();

        System.out.println("Person is : " + person);
        System.out.println("Address is : " + address);
    }
}

  ask by user2287508 translate from so

未解决问题?本站智能推荐:

6回复

ArrayList不打印所有元素

我编写了一个程序,该程序需要用户输入的字符串。 (示例:175-24-56-5)程序采用该字符串并将其放入ArrayList中。 我遇到的问题是,当我尝试打印ArrayList时,没有打印最后一个数字(应该在ArrayList中)。 这是该方法的代码: 它应该已经打印
1回复

为什么我的display()方法不能打印出所有ArrayList元素?

我有一个类Container,在该类中,用户应该可以输入任意数量的单词,直到他没有键入任何内容。 我有addWord(Word)方法,每次运行do / while循环时,每个输入都会添加到ArrayList单词中。 我每次循环运行时都会将用户输入值作为参数传递给addWord()方法。
1回复

打印ArrayList的所有项目

我知道这是一个非常基本的问题,但是我已经搜索过并且没有找到适合我问题的合适答案。 我有一个从扫描器填充的对象的ArrayList。 当我尝试打印出列表中的所有元素时,我只会使最后一个元素重复与列表中的对象一样多的次数。 首先是Object类: 现在的主要课程: 我到底在
2回复

以相反的顺序打印ArrayList的元素

我得到了一个文本文件,内容为: 并且我必须使程序按以下顺序显示: 到目前为止,这是我的代码: 但这似乎不起作用。
1回复

打印arraylist元素问题

我在使用ArrayList遇到问题。 首先,我是Java的新手,我正在尝试使用ArrayList来存储对象,现在我想要打印出所有对象,这些对象都是ArrayList项目。 但不知何故, List打印不正确,有重复的项目(我敢肯定只有一个项目)。 这是我的代码: 这就是结果,正如您所
2回复

如何从ArrayList打印元素内容?

当前正在尝试从ArrayList打印详细信息。 下面名为detailBook的ArrayList存储另一个数组的详细信息,因此detailBook.get方法仅返回哈希码。 任何想法?
1回复

ArrayList打印重复元素

我的代码应该读取并打印xml中的标签“ surgery-performed-grid”内的元素。 但是我的输出将继续打印标记的第一个元素。 我的输出: 此代码在ArrayList中保留添加相同的对象(surgeryPerformedGrid1)。 如何在ArrayList中添加不
1回复

不打印ArrayList元素

我对Java还是很陌生,我想做的是为目录创建一个模型,该模型使用集合将可用产品存储在计算机零件商店中。 我的教练要求在目录中提供每种产品的一个实例。 这是我想出的: 现在,通过我用来打印目录的商店的mainApp,我将AvailablesCatalog对象类型的实例存储在名为av的变
1回复

无法显示arraylist的所有元素

菜单驱动程序,用于添加和显示员工详细信息。 从用户那里获取员工详细信息的输入。 将其存储到数组列表中并显示。 我已将条目添加到列表中,但总是最后输入的数据会替换列表中的所有元素。 在开关案例1中获取输入并将其添加到arraylist并在另一种情况下显示它: 我需要显示数组
3回复

我的ArrayList不返回所有元素

当我使用System.out.println静态方法时,下面的Java程序将显示ArrayList中的所有元素。 但是,当我在方法中返回列表时,它仅在ArrayList中显示一个元素。 对于出现错误的情况,我将提供一些指导: