A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 三眼皮 中级黑马   /  2014-3-12 21:19  /  1263 人查看  /  5 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

import java.io.*;
class  ReadIn
{
        public static void main(String[] args) throws IOException
        {
                InputStream in = System.in;
                StringBuilder sb = new StringBuilder();

                while(true)
                {
                        int ch = in.read();
                        if(ch=='\r')
                                continue;
                        if(ch=='\n')
                        {
                                String s = sb.toString();
                                if("over".equals(s))
                                        break;
                                System.out.println(s.toUpperCase());
                                sb.delete(0,sb.length());
                        }
                        else
                                sb.append((char)ch);

                }
        }
}

String s = sb.toString();这句的作用是what,
StringBuilder sb = new StringBuilder();这个初始化不就是String么

评分

参与人数 1技术分 +1 收起 理由
zzkang0206 + 1

查看全部评分

5 个回复

倒序浏览
String s = sb.toString();这句的作用是将容器中的内容转换成字符串,并赋值给s,
StringBuilder sb = new StringBuilder();这个初始化是String但它是尅改变的,可以删除可以增加,而String一旦初始化就不能被改变。

评分

参与人数 1技术分 +1 收起 理由
zzkang0206 + 1

查看全部评分

回复 使用道具 举报
StringBuilder是一个类,可以用来处理字符串,new StringBbilder()是实例化了一个对象,并不是初始化String,例如:
  1. StringBuilder sb=new StringBuilder();//只开辟了一块内存,这种用法要比直接字符串相加效率高。
  2. sb.Append("123");
  3. sb.Append("456");
  4. string str=sb.ToString();
复制代码
//这句话是把sb容器的内容变成字符串,后面才能直接调用toUpperCase()。

评分

参与人数 1技术分 +1 收起 理由
zzkang0206 + 1

查看全部评分

回复 使用道具 举报
StringBuilder sb=new StringBuilder()
这其实是创建了StringBuilder对象,并不是String类型,需要调用toString()方法,才能获取内容

评分

参与人数 1技术分 +1 收起 理由
zzkang0206 + 1

查看全部评分

回复 使用道具 举报
String s = sb.toString();这句话作用是,当你按下回车键(在windows中是\r\n)时,程序才会执行到这句话,它是把前面定义的StringBuilder类型的对象sb中的内容变成字符串
回复 使用道具 举报
String s = sb.toString();这句的作用是是将sb里面的内容赋值给一个字符串用作if条件判断。StringBuilder sb = new StringBuilder()创建的是一个容器对象,初始化的是StringBuffer,而不是String。

评分

参与人数 1技术分 +1 收起 理由
zzkang0206 + 1

查看全部评分

回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马