黑马程序员技术交流社区

标题: 一个测试题,为什么结果是d [打印本页]

作者: yunmu    时间: 2016-4-27 11:44
标题: 一个测试题,为什么结果是d

        public static  void main(String[] arg) {
                new Base().test();
        }
        public static class Base {
                private void test() {
                        String aStr = "_One_";
                        String bStr = aStr;
                        bStr = aStr.trim();
                        System.out.println("[" + aStr + "," + bStr + "]");
                }
       
        }

a)  [One,_One_]  
b)  [_One_,One]  
c)  [One,One]  
d)  [_One_,_One_]  

作者: 320215787    时间: 2016-4-27 12:23
把a的地址给了b,b的值和a的值一样,trim函数是去除首尾的空格,原值没有空格,所以直接输出两个字符串拼接
作者: xiaoxiqq    时间: 2016-4-27 17:46
赋值了。
作者: jiang0409    时间: 2016-4-27 17:48
当然是d,A = _ONE_
B = _ONE_
所以输出【_ONE_,_ONE_】
作者: ls20090726    时间: 2016-4-27 19:21
差点没看懂,原来是一个内部类,我说怎么能访问私有方法
作者: tongtian    时间: 2016-4-27 19:38
加油加油加油加油
作者: yunmu    时间: 2016-4-29 19:38
320215787 发表于 2016-4-27 12:23
把a的地址给了b,b的值和a的值一样,trim函数是去除首尾的空格,原值没有空格,所以直接输出两个字符串拼接 ...

答案是B啊
作者: yunmu    时间: 2016-4-29 19:40
jiang0409 发表于 2016-4-27 17:48
当然是d,A = _ONE_
B = _ONE_
所以输出【_ONE_,_ONE_】

b不是给去除空格了么




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2