论坛首页 招聘求职论坛

问一个不太明白的面试题

浏览 10234 次
精华帖 (0) :: 良好帖 (0) :: 隐藏帖 (0)
作者 正文
   发表时间:2009-07-14  
程序本身是没问题的,但楼主没有考虑中文的问题
0 请登录后投票
   发表时间:2009-07-14  
GG还没有找到工作?
0 请登录后投票
   发表时间:2009-07-14  
mccxj 写道
藝之憾 写道
if ((null == str) || (str.length() <= 1)) {   
   return str;   
} 


如果str为空,你返回的值是空,如果在其他地方你用到这个返回值,则会有空指针异常。如:
String s = myclass.reverse(str);
s.hashCode();//调用s的任何一个方法都会有异常



单单就上面的代码。。没什么错


LZ问什么时候go wrong嘛...我就说他返回空时,再调用这个String,就会出问题,我说的也没什么错哦..
LZ代码没错,但有隐患,处理得还不够严谨,这样的代码写在系统中,很容易让软测人员找到漏洞。
按某些公司做法,人家就加钱,自己就要扣钱了..
0 请登录后投票
   发表时间:2009-07-14   最后修改:2009-07-14
jiyanliang 写道
西北野狼 写道
空串处理不对,但不会抛错

if ((null == str) || (str.length() <= 1)) {
            return str;
        }

老外都是那么写的 代码就没错 "null == str"
0 请登录后投票
   发表时间:2009-07-14  
藝之憾 写道
langhua9527 写道
public class myClass implements IRev {

	public String reverse(String str) {
		if ((null == str) || (str.length() <= 1)) {   
			return "";   
		}   
		return new StringBuffer(str).reverse().toString();  
	}	
}


这样做会把单字符的字符串改变了。
要不在reverse前判断,要不就不要 str.length() <= 1

恩,那分别去判断吧
0 请登录后投票
   发表时间:2009-07-14  
lkfs 写道
程序本身是没问题的,但楼主没有考虑中文的问题

我试了,中文没有问题的啊
0 请登录后投票
   发表时间:2009-07-14   最后修改:2009-07-14
解答是没有什么错的,除非题干没有说清
0 请登录后投票
   发表时间:2009-07-15  
if ((null == str) || (str.equa1s(""))
0 请登录后投票
   发表时间:2009-07-15   最后修改:2009-07-15
拷到ide里运行一下不就知道了么?

一个文件中不能存在两个public class的声明...
public interface IRev {  
    public String reverse(String str);  
}  
class myClass implements IRev {  
    public String reverse(String str) {  
       if ((null == str) || (str.length() <= 1)) {  
          return str;  
       }  
       return new StringBuffer(str).reverse().toString();  
   }  
}  


0 请登录后投票
   发表时间:2009-07-15  
我晕,这有点那啥了,我们都把注意力集中在方法的实现上了
简单的问题复杂化了。。。
不应该啊不应该
0 请登录后投票
论坛首页 招聘求职版

跳转论坛:
Global site tag (gtag.js) - Google Analytics