String message=String.format("My name is %s,age is %d",name,age); 
上面的那个语句可以这样表达吗?
String message=String.format("My name is "+name,"age is "+age); 

解决方案 »

  1.   

    不可以,它的指定方式是:
    public static String format(String format,Object... args)
      

  2.   

    1楼正解,建议楼主多看看api
    format
    public static String format(String format,
                                Object... args)使用指定的格式字符串和参数返回一个格式化字符串。 
    始终使用的语言环境是由 Locale.getDefault() 返回的语言环境。 
    参数:
    format - 格式字符串
    args - 在格式字符串中由格式说明符引用的参数。如果还有格式说明符以外的参数,则忽略这些额外的参数。参数是可变的并且可以为 0。参数的最大数目受《Java Virtual Machine Specification》所定义的 Java 数组的最大维度的限制。针对 null 参数的行为依赖于 转换。 
    返回:
    一个格式化字符串 
    抛出: 
    IllegalFormatException - 如果格式字符串中包含非法语法,与给定的参数不兼容的格式说明符,格式字符串给定的参数不够,或存在其他非法条件。有关所有可能的格式化错误的规范,请参阅 formatter 类规范的 Details 一节。 
    NullPointerException - 如果 format 为 null
    从以下版本开始: 
    1.5 
    另请参见:
    Formatter
      

  3.   

    不可以,name和age的数据类型是什么?如果不是string类型的话。就得强制转换为 string类型。
      

  4.   

    不可以,name和age的数据类型是什么?如果不是String类型的话。就得强制转换为 String类型。
      

  5.   

    如果不是String类型的话。就得强制转换为 String类型
      

  6.   

    不可以
    你只能把他理解为String message="My name is "+name,"age is "+age;