美文网首页
55. 注意字符串的位置 - 草稿

55. 注意字符串的位置 - 草稿

作者: ggr | 来源:发表于2018-03-10 09:01 被阅读0次

接着讨论关于字符串的问题,现在有一个程序如下:

public static void main(String[] args) throws Exception{
      String str1 = 1 + 2 + "apple";
      String str2 = "apple"+1+2;
      System.out.println(str1 == "12apple");
      System.out.println(str2 == "apple12");
 }

那么现在请问程序的运行结果如何?都为 true
我们看看运行结果:
 false
 true

貌似一切都不是我们想象的那么简单,当然也没有想象中的那么复杂。
原来在java中对"+"的处理机制是在计算表达式的时候,只要遇到String字符串,则所有的数据都会转化为String类型进行处理,如果是原始类型,就直接拼接,如果是类类型,就调用toString()方法进行返回值的拼接。

String str = "123";
str = str+new ArrayList();

上面就是通过ArrayList对象的toString()方法的返回值然后和str进行拼接。回到我们之前的问题,对于str1字符串,Java执行顺序是从左到右的,先执行1+2,然后再和字符串的拼接,结果就是"3apple",其形式类似于如下:

String str1 = (1+2)+"apple";

而对于str2字符串而言,第一个参与运算的是字符串,后面的运算都要转换为字符串类型进行运算,所以加1的结果就是"apple1",然后再加2,所以最后的运算结果是"apple12"

备注:在"+"表达式中,String字符串拥有最高的优先级。

相关文章

  • 55. 注意字符串的位置 - 草稿

    人生没有彩排,每一个细节都是现场直播。 接着讨论关于字符串的问题,现在有一个程序如下: 那么现在请问程序的运行结果...

  • 55. 注意字符串的位置 - 草稿

    接着讨论关于字符串的问题,现在有一个程序如下: 那么现在请问程序的运行结果如何?都为 true?我们看看运行结果:...

  • 2018-04-02 Python中切片以及字符串逆序

    字符串切片取 【终止位置为数字的前一位】 这个需要特别注意 字符串切片取负 name[2:-2]-------...

  • 轻松确定轮廓画出可爱的头像

    ①首先,绘制一个粗糙的Atari。 ②作为草稿,决定角色的眼睛和鼻子在哪里。 ③参照确定的眼和鼻位置绘制草图。注意...

  • PHP 字符类处理函数

    主要注意的是, 字符串和数组一样,第一位的位置都是 0 substr 截取字符串。 substr(string,...

  • 杭电ACM-2024

    题目: 代码: C语言合法标识符百科: 注意getchar()的位置,作用是吃回车,但是在字符串循环中,注意不要放...

  • LeetCode刷题总结(11)

    2020-07-27 55. 跳跃游戏 思路 对nums数组,令nums[i] += i,这样表示i位置最远可以走...

  • 临摹(坐在月亮上的女孩)

    画完这幅作品后,感觉很不错,仿佛干了件大事。 首先,画草稿,要特别注意衣服的褶皱,头发的飘逸感,以及眼睛的位置。 ...

  • perl入门06:常用字符串处理函数

    1、 index 返回子字符串在字符串中最先出现的位置; 注意从0开始计算,可以理解为前面有多少字符; 找不到则返...

  • 《Clean Code》- 逐步改进

    一. Args的实现 二. Args:草稿 三. 字符串参数 四. 小结

网友评论

      本文标题:55. 注意字符串的位置 - 草稿

      本文链接:https://www.haomeiwen.com/subject/datpfftx.html