作者adrianshum (Alien)
看板java
标题Re: [问题] 清空 前几个字串?
时间Thu Jul 17 15:21:47 2008
※ 引述《a395397 (不知道为什麽)》之铭言:
: 部份程式码.....
: Scanner a = new Scanner(new FileReader(f)); // f 档名
: String s;
: String s1 = null;
: String sum = null;
: while(a.hasNext())
: {
: s= a.nextLine();
: sum+=s;
: //s1 = sum.replace("null","");
: }
: sum~印出来的後,开头一定会多个null,
: (例如:nullDid Mary tell you who that girl's father is?)
: 所以我用s1= sum.replace("null",""),想把null去掉
: (变成:Did Mary tell you who that girl's father is?)
: 但想想这样不好= = ....
: (万一文章里面真的有null的话!!)
: 想直接把前面sum[0]sum[1]sum[2]sum[3]给清空
: 但似乎不行,清空ㄧ个就等於~清空了全部内容= =
: 这该如何解决?
1) 之前有人提过了, 做这类 stirng manipulation
请用 StringBuffer/Stringbuilder
一直用 String += 很浪费资源
2) 你有没有尝试去了解为什麽无缘
无故会出现 null 在开首?
开个 debugger trace trace 吧
loop 第一个 iteration, 你的 sum 是 null
的, 所以 sum + s 会出现 null.
这种情况, 只要把 sum 设一个适当的
initial value 就能解决
alien
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 202.155.236.82