if(this.Name.equals(name)) 的时候才return p
那如果不equal不就没有东西return了~
那如果不equal不就没有东西return了~
解决方案 »
- Hash求index的问题
- 编译总提示未覆盖抽象方法KeyReleased
- 寻求一个解决方案的思路。多机多进程冗余负载问题。
- [讨论]java - SEO 顶者有份,可追加
- 求一段读出excel2007然后在输出到excel2007的java代码!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
- 关于泛型的问题,新手上路
- 关于java字符编码
- 如何获得RowSet的大小
- [发布]Rational XDE 2003发布了~~Java版本支持WSAD 5以及eclipse 2.0.1,散200分(多了我也没有用)
- Cookie与Session有什么区别?
- 如何在点击某个按钮后往JPanel上再添加一个panel?
- 用JS调用OCX控件速度的问题,急!
if(this.Name.equals(name))
return p;
同意再写个else
for(int i=0;i <list.size();i++)
{
Person p = (Person)list.get(i);
if(this.Name.equals(name))
return p;
} 当list为空的时候,该函数是没有返回Person对象的
if(this.Name.equals(name))
return p; 就算当list不为空,没找到匹配项还是没有返回
{
for(int i=0;i <list.size();i++)
{
Person p = (Person)list.get(i);
if(this.Name.equals(name))
return p; // found
}
return null; // not found
}
}
也可以使用 空对象 模式重构
import java.io.*;
import java.util.*;
class Person{
private String ID;
private String Name;
private String Mail;
private int Age;
private String City;
class Person{//你不写Person类怎么调用Person实例
public Person()
{}
public Person(String ID, String Name, String Mail, int Age, String City)
{
this.ID=ID;
this.Name=Name;
this.Mail=Mail;
this.Age=Age;
this.City=City;
}
public String getID()
{
return this.ID;
}
public String getName()
{
return this.Name;
}
public String getCity()
{
return this.City;
}
public Person findByName(List list, String name)
{
for(int i=0;i <list.size();i++)
{
Person p = (Person)list.get(i);
if(this.Name.equals(name))
return p;
}
}
}
{}
/*
* To change this template, choose Tools | Templates
* and open the template in the editor.
*/package exp1;/**
*
* @author szhu5
*/
import java.io.*;
import java.util.*;
class Person{
private String ID;
private String Name;
private String Mail;
private int Age;
private String City;public Person()
{
}
public Person(String ID, String Name, String Mail, int Age, String City)
{
this.ID=ID;
this.Name=Name;
this.Mail=Mail;
this.Age=Age;
this.City=City;
}
public String getID()
{
return this.ID;
}
public String getName()
{
return this.Name;
}
public String getCity()
{
return this.City;
}
public Person findByName(List list, String name)
{
for(int i=0;i <list.size();i++)
{
Person p = (Person)list.get(i);
if(this.Name.equals(name))
{
return p;
}
}
return null;
}
public class ComparatorUser implements Comparator{ public int compare(Object arg0, Object arg1) {
Person user0=(Person)arg0;
Person user1=(Person)arg1;
int flag=user0.getID().compareTo(user1.getID()); return flag;
}
}
}
这个class算好了,但那个另一个需要啥封闭实例
/*
* To change this template, choose Tools | Templates
* and open the template in the editor.
*/package exp1;import exp1.Person.ComparatorUser;
import java.util.ArrayList;
import java.util.Collections;
import java.util.List;/**
*
* @author szhu5
*/
public class Tester{public static void main(String [] args)
{
List list = new ArrayList();
list.add(new Person("2","b","[email protected]",22,"shanghai"));
list.add(new Person("3","lucky","[email protected]",22,"beijing"));
list.add(new Person("1","a","[email protected]",21,"dalian"));
ComparatorUser comparator=new ComparatorUser();
Collections.sort(list,comparator);
for(int i=0;i <list.size();i++)
{
Person p = (Person)list.get(i);
System.out.println(p.getID());
}
}
}
额,你觉得lz代码第三行那是什么?私有成员变量都出来了你在那里写class也太晚了吧最后添个return null吧
Person p = null;
for (int i = 0; i < list.size(); i++) {
if (this.Name.equals(name))
p = (Person) list.get(i);
}
return p;
}这样不就好了嘛。
}外面再加个return null;
{
Person m=new Person();
for(int i=0;i <list.size();i++)
{
Person p = (Person)list.get(i);
if(this.Name.equals(name))
m = p;
}
return m;
} 这么写应该可以吧
public Person findByName(List list, String name) {
Person p = null;
for (int i = 0; i < list.size(); i++) {
if (this.Name.equals(name))
p = (Person) list.get(i);
}
return p;
}