两道面试题!

lshjwn 2007-07-27 03:25:50
1、String a="abc" 和 String a = new String("abc")的区别?

2、有一个字符串只想去掉右边的空格怎么做??
...全文
1338 26 打赏 收藏 转发到动态 举报
写回复
用AI写文章
26 条回复
切换为时间正序
请发表友善的回复…
发表回复
chenyifei211 2007-08-01
  • 打赏
  • 举报
回复
IhaveGotYou(扬扬)
的方法不错
malligator 2007-08-01
  • 打赏
  • 举报
回复
str = " abc ";
str = "1" + str;
str = str.trim().substring(1);
kekelehuo 2007-08-01
  • 打赏
  • 举报
回复
public static void testTrimRight()
{
String a = " abc " ;
char[] array = a.toCharArray() ;
int i ;
for(i=array.length-1 ;i>=0 ;i--)
{
if(array[i] != ' ')
break ;
}

System.out.println(a.substring(0, i+1));


}
bear123_zhou 2007-08-01
  • 打赏
  • 举报
回复
不错的~~~~
cursor_wang 2007-07-31
  • 打赏
  • 举报
回复
pengranxiang() ( ) 信誉:100
----------------

你这个方法很好,但这里有点小小的错.我改了.
public String trim(String str) {
char[] charArray = str.toCharArray();
int len = charArray.length;
int end = len;
for(int i=len-1; i>0; i--) {
if(charArray[i] != ' ')
break;
else
end--;
}
return str.substring(0, end);
}
愤怒的小蒋 2007-07-30
  • 打赏
  • 举报
回复
mark
JCMAN 2007-07-30
  • 打赏
  • 举报
回复
第一原始数据类型
第二个是对原始数据类型的封装
kender1129 2007-07-28
  • 打赏
  • 举报
回复
不明白可以看下trim的源代码,写得很好,它是先取左边,在取右边,
kender1129 2007-07-28
  • 打赏
  • 举报
回复
第2问,从字符串的最后开始,找到第一个非空字符,在用substring取前面的字符串
bandylau 2007-07-28
  • 打赏
  • 举报
回复
string s = "abc";
是创建一个对象,他把字符串放到了字符串池里面,该字符串池是公用的....

string s = new string ("abc");
是创建一个引用, 他只是将abc的指针放到了 s ,要用的时候是将指针去出来,用指针去取值.
gongyali2005 2007-07-28
  • 打赏
  • 举报
回复
很多人对面试题感兴趣?
洋溢2016 2007-07-28
  • 打赏
  • 举报
回复
oo
IhaveGotYou 2007-07-28
  • 打赏
  • 举报
回复
2:
StringBuffer sb=new StringBuffer(" aa ");
while(sb.lastIndexOf(" ")==sb.length()-1)
sb.deleteCharAt(sb.length()-1);
pengranxiang 2007-07-28
  • 打赏
  • 举报
回复
第二个自己写吧 比如
public String trim(String str) {
char[] charArray = str.toCharArray();
int len = charArray.length - 1;
int end = len;
for(int i=len; i>=0; i--) {
if(charArray[i] != ' ')
break;
else
end--;
}
return str.substring(0, end);
}
suprich 2007-07-28
  • 打赏
  • 举报
回复
up
pastom 2007-07-28
  • 打赏
  • 举报
回复
第二个问题,我觉得可以现调用reverse方法,然后substring第一个非空字符开始的子串,然后再reverse,这样效率不是很高,抛砖引玉勒
ykrocku 2007-07-27
  • 打赏
  • 举报
回复
2:找到第一个非空格的字符,从这个位置分开,对后面的str调用trim,和前部分的合并。

复杂了~~~
seasonghostxiaobai 2007-07-27
  • 打赏
  • 举报
回复
1.String a="abc" 如果堆中已经有abc,他就不会再建一个abc对象,而是直接引用已经存在的abc;
String a = new String("abc");创建了两个对象.堆中"abc",栈中创建一个 a 的引用.

2. String sTemp = "abc ";
去掉空格: sTemp.trim();
clevercong 2007-07-27
  • 打赏
  • 举报
回复
第一个 :如果栈中已经有abc,他就不会再建一个abc对象,而是直接引用已经存在的abc
第二个 :不管有没有存在abc,都会在堆中建立一个String对象。
diracstar 2007-07-27
  • 打赏
  • 举报
回复
第一个 只有一个对象 "abc" 常量池中
第二个 有两个对象 一个是"abc" 一个是new String("abc")
加载更多回复(6)
昨日,11.19,最新整理了,第61-80,现在公布上传。 另加上之前公布的第1-60 ,在此做一次汇总上传,以飨各位。 可以这么说,绝大部分的面试,都是这100 道系列的翻版, 此微软等公司数据结构+算法面试100 系列,是极具代表性的经典面试。 而,对你更重要的是,我自个还提供了答案下载,提供思路,呵。 所以,这份资料+答案,在网上是独一无二的。 ------------------------------------ 整理资源,下载地址: 答案系列: 1.[最新答案V0.3 版]微软等数据结构+算法面试100 [第21-40 答案] http://download.csdn.net/source/2832862 2.[答案V0.2 版]精选微软数据结构+算法面试100 [前20 ]--修正 http://download.csdn.net/source/2813890 //此份答案是针对最初的V0.1 版本,进行的校正与修正。 3.[答案V0.1 版]精选微软数据结构+算法面试100 [前25 ] http://download.csdn.net/source/2796735 目系列: 4.[第一部分]精选微软等公司数据结构+算法经典面试100 [1-40 ] http://download.csdn.net/source/2778852 5.[第1 -60 汇总]微软等数据结构+算法面试100 http://download.csdn.net/source/2826690 更多资源,下载地址: http://v_july_v.download.csdn.net/ 若你对以上任何目或任何答案,有任何问,欢迎联系我: My E-mail: zhoulei0907@yahoo.cn ------------- 作者声明: 本人July 对以上公布的所有任何目或资源享有版权。转载以上公布的任何一, 或上传百度文库资源,请注明出处,及作者我本人。 向你的厚道致敬。谢谢。 ---July、2010 年11 月20 日。 ------------------------------------------------------ 各位,若对以上100任何一道,或对已上传的任何一的答案, 有任何问,请把你的思路、想法,回复到此帖子上, 微软等100系列,永久维护地址(2010年11.26日): http://topic.csdn.net/u/20101126/10/b4f12a00-6280-492f-b785-cb6835a63dc9.html

62,615

社区成员

发帖
与我相关
我的任务
社区描述
Java 2 Standard Edition
社区管理员
  • Java SE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧