问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

关于java的StringBuffer的tosting方法的一点疑惑,

发布网友 发布时间:2022-04-23 21:30

我来回答

4个回答

热心网友 时间:2023-09-30 14:43

return的用法没弄清楚吧……

在myReaderLine方法里面,只要return了
就会直接退出myReaderLine方法,下面的语句都不在执行

StringBuilder的缓冲区是不会随便清空的
这个和一般的对象一样,当系统不再使用的时候,Java虚拟机会自动的清理掉

这里的话,因为StringBuilder对象只在myReaderLine方法里面使用
使用return退出方法后,StringBuilder对象一定时间内会被回收
但是,sb.toString()返回的字符串常量还是存在的

热心网友 时间:2023-09-30 14:43

调用StringBuilder.toString()方法,只是将你用append()方法追加的东西组装到一起,以字符串的形式返回,StringBuilder本身当然不会清空。

if(sb.length()!=0)
return new String("123");//如果没有清空,数据还在的话,我返回123,应该控制台整个屏幕都是123的呀...... ,,就是这个问题让我纠结了,,由于自学,,,无人指教,特求前辈指点,万谢.

不会执行到这里。因为你的myReaderLine()方法就是读取一行然后返回。当最后一行都读取完毕后。又调用这个方法,方法中StringBuilder sb = new StringBuilder()。此时因为文件已经读完了,所以不会执行下面这段代码。
while((ch=r.read())!=-1) {
if(ch=='\r')
continue;
if(ch=='\n')//if 和else是一起的,如果等于n了,就打印出去,然后,如果不等于空,则添加.
return sb.toString();//把缓冲区里面的数据返回出去了,,这个时候是不是缓冲区StringBuilder就是清空了???
else
sb.append((char)ch);
}//循环结束

那么你的StringBuilder是空的,即length = 0,所以你判断if (sb.length() !=0){return new String("123"}就没法执行了。

明白了不 ?

热心网友 时间:2023-09-30 14:44

return sb.toString(); 是返回缓冲区的数据,并不会清空缓冲区

return new String("123"); 只有当改行没有数据或者文件已经读完的情况下才会返回123

热心网友 时间:2023-09-30 14:44

问这样的问题去CSDN
声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
怎么养好四季海棠? 西安财神庙攻略,西安旅游攻略财神庙路线 漯河食品职业学院是几本 漯河食品职业学院是985还是211 做无痛人流的危害 地暖水压能保持多久 地暖水压维持时间有多长 海棠花开完花后该怎么处理 漯河食品职业学院为什么能升本 漯河食品职业学院质量检验系培养目标 漯河食品职业学院是谁建的 鸡腿怎样弄简单又好吃 武汉市住房保障管理中心怎么样? byte *buffer怎么清空 武汉有哪些局 stringbuffer删除所有指定字符串 武汉市住房保障和房屋管理局的人员编制 StringBuffe循环拼接存放到ArrayList里再清空怎么搞? 武汉市住房保障和房屋管理局的主要职责 Stringbuffer怎么样清空 在JAVA中怎么清空StringBuffer变量内容 如何将stringbuffer中的内容清空 怎样在超市购物的时候如何辨别转基因食用油和非转基因食用油转基因的食用油和非转基因的都有什么牌子 哪些油是转基因 现在的转基因油都有哪些? 月折旧率和月折旧额要怎么算 年折旧率怎么算 数学中折旧率计算公式 fedora20用grub引导freeBSD10 设备折旧费的计算公式 谁有小学数学-四年级上册-BSD-5.3随堂测的答案? 武汉房票制度引发热议:此前就已推广 或将抑制楼市虚火 java全局变量清空? 武汉:加强新建商品房销售全过程监管 预售申请限最高5次 java中,StringBuffer类对象经过增加删除插入后,空间是连续的吗? 请问武汉市武昌区房地产公司的上级部门是武汉市住房保障管理局吗? java中教材说String类不能进行修改、删除、替换,要用StringBuffer。 武汉房票制度引发热议,制定这一制度为的是什么? 武汉非重点资金提取流程 JAVA计算器问题 武汉加强新房监管:交房3个月内不得擅自拆除和出售样板房 java 删除文件内容 武汉购房网签怎么查询查询 武汉市房产局信息网 java 去除多余空格 武汉就“凭房票买房”征求意见,购房须先申请购房资格 java中如何清除一个全局变量的字符串原来的值 CSR赛车2的奖箱特定车辆概率x10或x20的活动间隔多久会有一次呀? 5月10日起,武汉买卖二手房可自行办网签 java 如何删除一个字符串中出现次数最少的字符。比如addffdf 输出 ddffdf java中如何把第一行给删除