当前位置:   article > 正文

编写一个Student类,包含name和age属性,提供有参构造方法_编写一个student类,包含name和age属性

编写一个student类,包含name和age属性

2. 请按照下列要求编写程序。

1 编写一个Student类,包含nameage属性,提供有参构造方法。

2 Student类中,重写toString()方法,输出agename的值。

3 Student类中,重写hashCode()equals()方法

  1. hashCode()的返回值是namehash值与age的和。
  2. equals()判断对象的nameage是否相同,相同则返回true不同返回false

4)最后编写一个测试类,创建一个HashSet<Student>对象hs,向hs中添加多个Student对象,假设有两个Student对象相等,输出HashSet

  1. import java.util.HashSet;
  2. import java.util.Iterator;
  3. import java.util.Objects;
  4. public class Student {
  5. public String name;
  6. public int age;
  7. public Student(String name, int age) {
  8. this.name = name;
  9. this.age = age;
  10. }
  11. @Override
  12. public String toString() {
  13. return "Student{" +
  14. "name='" + name + '\'' +
  15. ", age=" + age +
  16. '}';
  17. }
  18. @Override
  19. public boolean equals(Object o) {
  20. if (this == o) return true;
  21. if (o == null || getClass() != o.getClass()) return false;
  22. Student student = (Student) o;
  23. return age == student.age &&
  24. Objects.equals(name, student.name);
  25. }
  26. @Override
  27. public int hashCode() {
  28. return Objects.hash(name)+age;
  29. }
  30. }
  31. class TestStudent{
  32. public static void main(String[] args) {
  33. Student stu=new Student("曹操",12);
  34. Student stu1=new Student("刘备",19);
  35. Student stu2=new Student("孙策",17);
  36. Student stu3=new Student("孙斌",18);
  37. Student stu4=new Student("孙斌",18);
  38. HashSet<Student> hs=new HashSet<>();
  39. hs.add(stu1);
  40. hs.add(stu2);
  41. hs.add(stu3);
  42. hs.add(stu4);
  43. hs.add(stu);
  44. System.out.println(hs);
  45. Iterator it=hs.iterator();
  46. while (it.hasNext()){
  47. System.out.println(it.next());
  48. }
  49. for (Object i:hs
  50. ) {
  51. System.out.println(i);
  52. }
  53. }
  54. }

,观察是否添加成功。

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/小丑西瓜9/article/detail/244492
推荐阅读
  

闽ICP备14008679号