ArrayList

尝试打印ArrayList<Student>对象时,它不会按照您可能期望的方式显示每个学生的详细信息。默认情况下,ArrayListtoString()方法只会返回列表的内存地址和一个简短的表示,而不会显示列表中每个对象的详细信息。

要解决这个问题,您需要在Student类中重写toString()方法,以便在打印列表时能够显示每个学生的详细信息。

    @Override  
    public String toString() {  
        return "Student{" +  
                "name='" + name + '\'' +  
                ", age=" + age +  
                ", sex='" + sex + '\'' +  
                '}';  
    }  

注意:

toString() 方法在 Java 中是一个非常重要的方法,它属于 Object 类,因此所有的 Java 类都继承了这个方法(除非显式地覆盖了它)。toString() 方法的主要作用是将对象转换为字符串表示形式,这对于调试、日志记录、以及将对象的信息输出到控制台或文件中非常有用。

当你试图打印一个对象时(比如使用 System.out.println()),Java 会默认调用该对象的 toString() 方法。如果类没有重写 toString() 方法,那么就会调用 Object 类中的默认实现,这通常会返回一个包含类名和哈希码的字符串,如 ClassName@hashcode,这对于识别对象实例来说可能不是很有用。

通过在自定义类中重写 toString() 方法,你可以控制对象被转换为字符串时的表示形式。这通常包括对象的各个字段的值,以提供有关对象状态的详细信息。

例如,在你提供的 Student 类中,重写 toString() 方法后,当你尝试打印包含 Student 对象的 ArrayList 时,你会得到一个包含学生详细信息的字符串列表,而不是默认的哈希码表示。

因此,在编写自定义类时,通常建议重写 toString() 方法,以提供有关对象状态的清晰、有意义的表示。

@Override 注解只能用于方法,不能用于类、字段或构造函数。同时,它只能用于重写父类或接口中的方法,不能用于实现新的方法。

Student s = new student();
s.setName(name);//把name赋值给对象
list.add(s);//把对象添加到集合中
  ArrayList<password> list = new ArrayList<>();
//当要添加对象时,<>里是一个对象名

如果我们要返回多个数据,可以把这些数据先放在一个容器中,把容器返回,返回值类型可以为一个集合(ArrayList<>),调用方法时 ArrayList<> 名称 = 方法名称(传递的参数) 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值