难道 整数的32可以变成String吗?
说的详细点,怎么转换的

解决方案 »

  1.   

    其他类型和字符串相加时自动转换为String
      

  2.   

    String没有 String( int ) 
    这个构造函数的哦
      

  3.   

    很简单嘛。
    String ss = new StringBuffer().append("").append(32).toString();
      

  4.   

    “+”是java中唯一被重载的运算符
      

  5.   

    String ss = "" + 32;//整数32,此时 ss为"32"
    +隐式调用String类中的toString方法,将整数32转换为"32"与前面的""连接。
      

  6.   

    是操作符重载的原因,但是Java中程序员不能重载操作符了。只能用Sun弄好的了。
      

  7.   

    String ss = new StringBuffer().append("").append(32).toString();
    +操作符号有这样的功能,但是是产生的两个字符串对象,并且是通过
    new StringBuffer()来产生的,所以有的地方说String是性能的瓶颈
      

  8.   

    如果sun这样进行字符串的相加:
    String ss = new StringBuffer().append("").append(32).toString();
    那我就太失望了,的确是很慢呀但是我也想不出更好的办法了。
      

  9.   

    ‘+’在这里不是运算符,而是String类的一个方法;
      

  10.   

    我给你一个题,你看看输出什么
    public class a
    {
    public static void main(String [] args)
    {
    System.out.println("output is:"+3+3);
    System.out.println("output is:"+(3+3));
    }
    }
    你会知道为什么的
    它其实是“+”的重载,
      

  11.   

    建议换个角度学java,不要用C++思想来匹配,
    这样一来会不伦不类,
    java 就是一切都是对象,
    String ss = "" + 32; 
    "+" 肯定是同类型运算,所以32自动转换为String
      

  12.   

    谢谢大家的帮助
    收到append的启发,去看了看java定义各个类的源程序
    发现下面的关系,看来
    String ss = "" + 32;
    换成这样String ss = "" + new Integer( 32 ).toString();
    的效率未必低多少,但是归根结底调用的是
    Integer 的 toString( int i );
    看来以后这样是最好的了
    String ss = "" + Integer.toString( 32 );附:
    //StringBuffer中append的定义
      public StringBuffer append(int i) {
    return append(String.valueOf(i));
    }
    //String中valueOf的定义
    public static String valueOf(int i) {
            return Integer.toString(i, 10);
        }
    //Integer中toString的定义
    public static String toString(int i, int radix) {
    if (radix < Character.MIN_RADIX || radix > Character.MAX_RADIX)
         radix = 10; /* Use the faster version */
    if (radix == 10) {
        return toString(i);
    }
               ....................
              }
      

  13.   

    楼上答案太牵强了,语言本来就是相互溶会,互相发展,有些C++的特点也是非常正常的,c#现在不也是吸收了java的优点吗,32本来就不是对象,是简单类型,我认为这里应该是重载运算符