System.out.println("a"+1);
和"a"+123   两个输出的是什么?请说下原因/谢谢

解决方案 »

  1.   

    a1 a123Java 对字符串 + 运算符进行了重载
    当 + 运算 中有String时 其余的对象或基本类型都转化为相应的String参与运算
      

  2.   

    二楼正解,
    +的式子中有字符串参与的话,那么就是做字符串链接操作,非字符串的将会转换成相应的字符串,如果是对象则调用对象的toString()方法,来转换成字符串
      

  3.   

    楼上的没错,你也可以覆盖toString方法.
      

  4.   

    楼主想问的是
    'a' + 1

    "a" + 123
    这样的结果吧。
    a1
    97
      

  5.   

    就这个问题顺便讨论深一点
    System.out.println(1+9+"a");
    System.out.println("a"+1+9);
    请问分别输入的是什么?
      

  6.   

    'a' + 1

    "a" + 12398
    a123
      

  7.   

    就这个问题顺便讨论深一点
    System.out.println(1+9+"a");
    System.out.println("a"+1+9);
    请问分别输入的是什么?----------------------------
    10a
    a10
    没问题吧
      

  8.   

    System.out.println(1+9+"a");
    System.out.println("a"+1+9);-------------------------------
    10a
    a19
    当"a"先时,后面的转化为字符串
      

  9.   

    原来是这样的
    受教了
    但是
    System.out.println("a"+1+9);那以后的+都是字副串了啊