有下面的一段Java代码,在输出的结果中str1和str的值各为多少:
public static void main(String[]args)
{
    String str0=null;
    String str1=str0.concat("a");
    System.out.println(str1);    String str="d";
    str.concat("a");
    str.concat("b");
    System.out.println(str);
}
请大爷发表一下自己的答案……
不要忘了详解呀,不然很那服众的哟……

解决方案 »

  1.   

    不会,感觉应该会报空指针错,因为str1=str0.concat("a"),str0=null围观
      

  2.   

     String str1=str0.concat("a"); //直接报空指针。
     下面什么都不要说了
        楼主你个标题标的。。
          结贴给分吧。
        
      

  3.   

     String str1=str0.concat("a"); 空指针异常
      

  4.   

    public static void main(String[]args) 

        String str="d"; 
        str.concat("a"); 
        str.concat("b"); 
        System.out.println(str);     String str0=“”; 
        String str1=str0.concat("a"); 
        System.out.println(str1);   
    }
    如果是这样呢?输出的结果又是多少……呵呵?快来抢吧……
    40分哟…………
      

  5.   

    第一个肯定是打印 str 的值,即 : dstr.concat("a"); 这方法会返回一个新的String ,地址已经不是本来上面的了
    应为String 是final 类型的,不可变下面
        String str0=“”; 
        String str1=str0.concat("a");
        System.out.println(str1); 
    所以这里打印的是str0.concat("a");新地址的值,即:a
      

  6.   


    public static void main(String[]args)
    {
        String str="d";
        str.concat("a");
        str.concat("b");
        System.out.println(str);    String str0=“”;//改为String str0="";
        String str1=str0.concat("a");
        System.out.println(str1); 
    }
    如果是这样呢?输出的结果又是多少……呵呵?快来抢吧……
    40分哟…………
       输出: d和a
      concat()方法的返回值是一个连接后的字符串,对象串本身没有发生变化。   
      

  7.   

    就这个题目还2009市场最经典的java面试题。
      

  8.   

    我是楼主,现在我来总结一下把:
    楼上答案为(d,a)的为正确答案!呵呵
    高手们呀
    为什么把stro的值改为null
    就会出现Exception in thread "main" java.lang.NullPointerException
    at jieduanlianxi1.FSF.main(FSF.java:16)
    呀!public static viod main()
    {
    String str="d";
    str.concat("a");
    str.concat("b");
    System.out.println(str);        String str0=null;
    String str1=str0.concat("a");
    System.out.println(str1);
    }