问题描述
- Java,为何打印出来是0的??
-
package com.test.demon;import java.util.HashSet;
import java.util.Iterator;
import java.util.Set;
public class hashSet {public static void main(String[] args) { Set<Customer> set=new HashSet<Customer>(); Customer customer1=new Customer(6,"zhao"); Customer customer2=new Customer(9,"shanwei"); set.add(customer1); set.add(customer2); System.out.println("==========="+customer1.getAge()+"=========="); Iterator<Customer> it=set.iterator(); while(it.hasNext()){ Customer customer=it.next(); System.out.println("======"+customer.getAge()+"======="); } }
}
class Customer{
private int age; private String name; public Customer(int age,String name){ age=this.age; name=this.name; } public int getAge() { return age; } public void setAge(int age) { this.age = age; } public String getName() { return name; } public void setName(String name) { this.name = name; }
}
解决方案
代码没有问题。。。
我也测试了,我的没有问题。
import java.util.HashSet;
import java.util.Iterator;
import java.util.Set;
public class Test2 {
public static void main(String[] args) {
Set set = new HashSet();
Customer c1 = new Customer(6,"zhao");
Customer c2 = new Customer(9,"shanwei");
set.add(c1);
set.add(c2);
System.out.println("c1="+c1.getAge());
Iterator<Customer> it = set.iterator();
while(it.hasNext()){
Customer customer = it.next();
System.out.println(customer.getAge());
}
}
}
class Customer {
private int age;
private String name;
public Customer() {
super();
}
public Customer(int age, String name) {
super();
this.age = age;
this.name = name;
}
public int getAge() {
return age;
}
public void setAge(int age) {
this.age = age;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
}
结果:
c1=6
6
9
时间: 2024-12-11 02:47:08