笔试题:函数中String和StringBuffer参数传递的区别

原文地址及更多分享请点击:

好久没做笔试题了,一些基本知识慢慢快要忘记了,以后要养成时不时做做笔试题的习惯:

以下是我打算给新同事出的一个考题,有时间不防也来给出你的答案:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
package com.test;
 
public class TestString {
     public static void main(String[] args) {
         //=========================================================
         String str01 = "111" ;
         set1(str01);
         System.out.println(str01);
         
         String str = "aaa" ;
         set(str);
         System.out.println(str);
         //=========================================================
         StringBuffer sb01 = new StringBuffer( "111" );
         setB1(sb01);
         System.out.println(sb01.toString());
         
         StringBuffer sb = new StringBuffer( "aaa" );
         setB(sb);
         System.out.println(sb.toString());
         //=========================================================
     }
     private static void set1(String str01) {
         str01 = "222" ;
     }
     
     public static void set (String str){
         str = str + "bbb" ;
     }
     
     private static void setB1(StringBuffer sb01) {
         sb01 = new StringBuffer( "222" );
     }
     
     public static void setB(StringBuffer sb){
         sb = sb.append( "bbb" );
     }
}

你可能感兴趣的:(JavaSE)