锁定老帖子 主题:问一个不太明白的面试题
精华帖 (0) :: 良好帖 (0) :: 隐藏帖 (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(); } } 这个....楼主是为了方便其他人查看才写在一段代码里的吧.. |
|
返回顶楼 | |
发表时间: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(); } } 老抛你也忒逗了 |
|
返回顶楼 | |
发表时间:2009-07-15
你的项目中 类名就这样写吗!!! myClass
|
|
返回顶楼 | |
发表时间:2009-07-15
wangx1949 写道 如果str長度太長,超過int能表示的范圍就會出錯
这个倒是可能...最靠谱的 但是Integer是个..就算都是1byte 2147483647byte = 2147483k = 2147 M 2g内存的字符串..jdk能吃住么??? |
|
返回顶楼 | |
发表时间:2009-07-16
StringBuffer(String) 不是synchronized。
reverse是synchronized。 通常提供这种通用函数需要考虑同步。 如果外部调用myClass::reverse(String str) 过程中,StringBuffer构造完成之前,str值发生了变化,就有可能产生同步问题。 胡说两句,我是学C++的,java不熟哈。 |
|
返回顶楼 | |
发表时间:2009-07-16
jimmy_c 写道 StringBuffer(String) 不是synchronized。
reverse是synchronized。 通常提供这种通用函数需要考虑同步。 如果外部调用myClass::reverse(String str) 过程中,StringBuffer构造完成之前,str值发生了变化,就有可能产生同步问题。 胡说两句,我是学C++的,java不熟哈。 貌似String不可变。。。 |
|
返回顶楼 | |
发表时间:2009-07-16
jimmy_c 写道 StringBuffer(String) 不是synchronized。
reverse是synchronized。 通常提供这种通用函数需要考虑同步。 如果外部调用myClass::reverse(String str) 过程中,StringBuffer构造完成之前,str值发生了变化,就有可能产生同步问题。 胡说两句,我是学C++的,java不熟哈。 非状态类 你还能提到线程不安全,也太有才了 另外注意StringBuffer与StringBuilder的区别 |
|
返回顶楼 | |
发表时间:2009-07-28
最后修改:2009-07-28
首先想先问这个是写在接口中的,还是普通java类中,还有大家都谈到
if ((null == str) || (str.length() <= 1)) { return str; } 这段代码又问题,怎么有问题都没有说,我个人认为可能是表达式的书写不正确,应该是str = null, 而不是null = str。这是个人的浅见,望勿笑! |
|
返回顶楼 | |