2 zswyuzhoufeng zswyuzhoufeng 于 2014.10.05 12:37 提问

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;
}

}

1个回答

west49
west49   2014.10.06 00:36

代码没有问题。。。
我也测试了,我的没有问题。
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

Csdn user default icon
上传中...
上传图片
插入图片