char ch='a';
String str="b";
String temp = ch+str;

解决方案 »

  1.   

    C++里边叫重载加操作符,java里边没有这个语法。
      

  2.   

    String类型的对象和基本类型以及基本类型的包装类相+,都会自动转型的.
      

  3.   

    其实就是语言本身对String类型提供了+的重载.源代码估计要去看编译器的源代码了.
    去openjdk.java.net下载分析吧.
      

  4.   

    这是编译器的东西,不在 src 源代码中。编译器 %java_home%/lib/tools.jar 中
    在 com.sun.tools.javac 这个包下面。char ch = 'a';
    String str = "b";
    String temp = ch + str;这个编译器会处理成使用 StringBuilder(JDK 5 及以上)或 StringBuffer(JDK 5 以下)进行连接。如果是 String str = 'a' + "b"; 这样的话,由于是两个常量相加,编译器会进行优化,在编译时就
    会处理成字符串 ab 了。
      

  5.   

    运算符重载和指针一样,虽然能够使我们的程序更加灵活,但也有很多的不确定因素,不符合java的设计思想,所以我们是没法做运算符重载的。但我认为,string的+是java为我们做的唯一的运算符重载(先调toString(),再调用StringBuffer.append()),方便我们做字符串的连接。
      

  6.   

    String中的+号并不是运算符重载,这个只是编译器优化罢了。在JVM的指令中根本不支持这个
      

  7.   

    String中的+号并不是运算符重载,这个只是编译器优化罢了。在JVM的指令中根本不支持这个
      

  8.   

    叫运算符重载是没有问题了,跟jvm没有关系。
    其他的直接支持运算符重载的语言也不会创建特殊的指令来专门支持
      

  9.   

    +号挺方便的啊,可以连接字符串.但是JAVA中没有运算符重载的概念.