首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > JAVA > Java相关 >

新手,求指教,该如何处理

2012-01-18 
新手,求指教String[] namesnew String[10]/**用于指定位置查找name*参数:start表示开始位置,end结束位置

新手,求指教
String[] names=new String[10];
/**用于指定位置查找name
 *参数:start表示开始位置,end结束位置,name是需要查找的那个姓名。
**/
public boolean seacherName(int start,int end,String name){
  boolean result=false;
  for(int i=start-1;i<end;i++){
  if(name.equals(names[i]))
  result=true;
  }
  return result;
  }

在我没有赋值之前,我调用这个方法,输入名字为字符串的初始值null,为什么返回值是false?
求讲述下原理。

[解决办法]
调用的格式是seacherName(0,10,null)还是seacherName(0,10,"null")?
如果是第一种肯定会抛NullPointerException
第二种肯定会返回false啊!"null".equals(null)必定为false
因为String中覆盖了Object中的equals方法
看一下源代码就知道了

Java code
boolean equals(Object object){       if (this == anObject) {        return true;    }    if (anObject instanceof String) {           //........remainder} 

热点排行