怎么解决new一个类字段唯一标识问题?
没有上下文的情况,如有一个User类,里边有字段(对应表的唯一标识),private String uid。如何每次new一个User对象,让里边的uid都不重复。
我问他具体还有什么上下文,他也说不出,就说他去面试一个公司里的一道笔试题,过多的他也记不住了。
问:1)有无方法解决?
2)如果有上下文,如何解决?
[该贴被kossin于2009-04-22 19:00修改过]
要求:1。根据年龄对hashmap中的对象进行排序。并输出结果。
如下:
id name age
123 张三 1
134 lili 3
1789 teck 9
1 jack 11
根据如上所述,写出你的答题思路,
public class User implements Comparable
{
private String id;
private String name;
private int age;
public User(String name, int age)
{
this.id = UUID.randomUUID().toString();
this.name = name;
this.age = age;
}
public String getId()
{
return id;
}
public String getName()
{
return name;
}
public void setName(String name)
{
this.name = name;
}
public void setAge(int age)
{
this.age = age;
}
public int getAge()
{
return age;
}
public void print()
{
System.out.println(this.id + " " + this.name + " " + this.age);
}
public int compareTo(Object o)
{
if (o instanceof User)
{
User temp = (User) o;
if (temp.getAge() > this.age)
{
return -1;
} else if (temp.getAge() < this.age)
{
return 1;
} else
{
return 0;
}
}
return 1;
}
public static void main(String[] args)
{
Map
User u1 = new User("11", 12);
User u2 = new User("22", 13);
User u3 = new User("33", 15);
User u4 = new User("55", 68);
User u5 = new User("98", 30);
User u6 = new User("45", 55);
User u7 = new User("333", 6);
User u8 = new User("我的名字", 8);
hm.put(u1.getId(), u1);
hm.put(u2.getId(), u2);
hm.put(u3.getId(), u3);
hm.put(u4.getId(), u4);
hm.put(u5.getId(), u5);
hm.put(u6.getId(), u6);
hm.put(u7.getId(), u7);
hm.put(u8.getId(), u8);
Collection
Object[] users = c.toArray();
Arrays.sort(users);
for (Object user : users)
{
User u=(User) user;
u.print();
}
}
}
以上是我的解法,呵呵,欢迎大家拍砖。。。。。。