Java中,下段代码结果为什么是[ One , One ]
答案:6 悬赏:20 手机版
解决时间 2021-04-06 13:56
- 提问者网友:箛茗
- 2021-04-05 22:23
Java中,下段代码结果为什么是[ One , One ]
最佳答案
- 五星知识达人网友:不甚了了
- 2021-04-05 23:36
当然是[One,One]了,String bStr=aStr;这句执行了一个赋值的过程,把One赋值给了bStr,所以bStr的值也是One,那么就输出[One,One]
aStr.toUpperCase();你这句因为没有接受返回结果,所以等于没有
aStr.toUpperCase();你这句因为没有接受返回结果,所以等于没有
全部回答
- 1楼网友:玩世
- 2021-04-06 03:17
因为你没有接收toUpperCase方法和trim方法的返回值
正确写法public static void main(String[] args) {
String aStr = " One ";
String bStr = aStr;
aStr = aStr.toUpperCase().trim();
System.out.println("["+aStr+","+bStr+"]");
}
- 2楼网友:一叶十三刺
- 2021-04-06 02:57
简单的回答一下你的问题,首先说一下你使用到的两个String的方法:
toUpperCase:使用默认语言环境的规则将此 String 中的所有字符都转换为大写。此方法等效于
toUpperCase(Locale.getDefault())。
trim():返回字符串的副本,忽略前导空白和尾部空白。
这里之所以会输出 [ One , One ]
是因为你这里虽然通过toUpperCase()方法把aStr
的所有小写转换成了大写,但是实质上你并没有给aStr赋值,只是做了转换,所以输出还是[ One , One ]
如果你想输出 [ ONE , One ] 这种结果,可以按照下面的代码书写:public static void main(String[] args) {
String aStr = " One ";
String bStr = aStr;
aStr = aStr.toUpperCase();
aStr.trim();
System.out.println("[" + aStr + "," + bStr + "]");
}
这个时候输出的就是 [ ONE , One ]了
- 3楼网友:山河有幸埋战骨
- 2021-04-06 01:53
你想要什么结果呢:①[ONE,One]
String aStr = "One";
String bStr = aStr;
aStr = aStr.toUpperCase();
System.out.println("["+aStr+","+bStr+"]");
②[ONE,ONE]
String aStr = "One";
aStr = aStr.toUpperCase();
String bStr = aStr;
System.out.println("["+aStr+","+bStr+"]");
String aStr = "One";
String bStr = aStr;
aStr = aStr.toUpperCase();
System.out.println("["+aStr+","+bStr+"]");
②[ONE,ONE]
String aStr = "One";
aStr = aStr.toUpperCase();
String bStr = aStr;
System.out.println("["+aStr+","+bStr+"]");
- 4楼网友:春色三分
- 2021-04-06 01:16
String类的声明是 public final class String 里边的数组属性也是 fianl char[] value
就是字符串对象创建后不会被改变,只能初始化一次
引用类型的变量赋值都是值传递所以 aStr 和 bStr都是 "One"
调用toUpperCase() 返回一个新的字符串对象如果没有引用就会被回收掉
String cStr = aStr.toUpperCase(); 如果用cStr引用 cStr是"ONE" trim 方法同理
所以结果是
[ One , One ]
- 5楼网友:往事埋风中
- 2021-04-06 00:40
// TODO Auto-generated method stub
String aStr=" One ";
String bStr=aStr;
System.out.println(aStr.toUpperCase());
aStr.trim();
System.out.println("["+aStr+","+bStr+"]");
System.out.println("sss".toUpperCase());
String aStr1=new String("One");
String bStr1=aStr1;
aStr1.toUpperCase();
System.out.println(aStr1);
System.out.println(bStr1);
你运行感觉一下就知道了。toUpperCase()这个方法并没有改变内存。
String aStr=" One ";
String bStr=aStr;
System.out.println(aStr.toUpperCase());
aStr.trim();
System.out.println("["+aStr+","+bStr+"]");
System.out.println("sss".toUpperCase());
String aStr1=new String("One");
String bStr1=aStr1;
aStr1.toUpperCase();
System.out.println(aStr1);
System.out.println(bStr1);
你运行感觉一下就知道了。toUpperCase()这个方法并没有改变内存。
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
推荐资讯