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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© HM李超 高级黑马   /  2013-3-11 02:09  /  2191 人查看  /  7 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

代码:
class StringTrimDemo
{
    public static void main(String[] args)
    {
        String str = " Hello ";
        str+="World ";
        str.trim();
        System.out.println(str);
    }
}
结果: (前后都有空格)
代码换成这样就对了:
class StringTrimDemo
{
    public static void main(String[] args)
    {
        String str = " Hello ";
        str+="World ";
        //str.trim();
        System.out.println(str.trim());
    }
}
结果: (前后空格被去掉)

这是为什么呢?第一道程序中我明明是调用了trim方法去除了str的前后空格的,但是输出的时候为什么还是有空格?也不知道是学太晚,脑子昏沉沉的还是怎么了,
我发在这里大家帮我理解理解。

评分

参与人数 1技术分 +1 收起 理由
贾文泽 + 1

查看全部评分

7 个回复

倒序浏览
开始你虽然调用了str.trim()方法,但是没有保存其返回的结果,应该定义变量,把str.trim()赋值给变量,在打印变量就可以了。
  1. class StringTrimDemo
  2. {
  3.     public static void main(String[] args)
  4.     {
  5.         String str = " Hello ";
  6.         str+="World ";
  7.         String s=str.trim();
  8.         System.out.println(s);
  9.     }
  10. }
复制代码

评分

参与人数 1技术分 +1 收起 理由
贾文泽 + 1

查看全部评分

回复 使用道具 举报
String类的  trim方法 当字符串不为null  不是""  两端至少有一端有空格 的时候    会创建一个新字符串用来保存去除空格后的字符串    类似subString   

你第一中方法没有调用trim后虽然创建了一个新的字符串  但对原字符串没有影响  你继续输出  还是没有改变

你应该String  s= str.trim();
        System.out.println(s);    就OK了

评分

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

查看全部评分

回复 使用道具 举报
建议多看下API, 这个是有返回值的
String trim()
          返回字符串的副本,忽略前导空白和尾部空白。
字符串一经创建就不会被改变。

评分

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

查看全部评分

回复 使用道具 举报
此方法会创建一个新的字符串返回,而不是在原字符串上进行修改~~~

评分

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

查看全部评分

回复 使用道具 举报
由于String类提供了数值不可改变的字符串,因此String类的trim方法必须要有放回类型才能改变,不可能在本身对象上直接改变!
回复 使用道具 举报
class StringTrimDemo
{
    public static void main(String[] args)
    {
        String str = " Hello ";
        str+="World ";
       // str.trim();// String trim()  返回字符串的副本,忽略前导空白和尾部空白。 你这里等于新建了一个字符串,并没有影响前面的。改成
        String str2 = str.trim();
        System.out.println(str2);
    }
}
回复 使用道具 举报
高腾 中级黑马 2013-6-13 18:48:29
8#
字符串类型是不可变的

而String类的Trim()方法是有返回值的

需要用一个新的字符串来指向返回值
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马