【269天】我愛刷題系列(28)

叨叨兩句

  1. 原來我居然是別人眼中的逗比。。。看來天性釋放後,我也得從新認識本身了啊。

牛客網——java專項練習008

1

如下代碼結果是什麼?java

public class foo {
public static void main(String sgf[]) {
StringBuffer a=new StringBuffer(「A」);
StringBuffer b=new StringBuffer(「B」);
operate(a,b);
System.out.println(a+」.」+b);
}
static void operate(StringBuffer x,StringBuffer y) {
x.append(y);
y=x;
}
}

A 代碼能夠編譯運行,輸出「AB.AB」。
B 代碼能夠編譯運行,輸出「A.A」。
C 代碼能夠編譯運行,輸出「AB.B」。
D 代碼能夠編譯運行,輸出「A.B」。app

這裏簡單地說,a,b,x,y就是四個指針。y原本指向的是b所指向的對象,可是一個「=」,y就指向了x所指向的目標便是a指向的對象,所以原來b所指向的目標並無發生任何改變。與y不一樣的是,x進行的是對象操做,此時此對象在內存中是真正的本質上的改變。

往方法中傳參,傳的僅僅只是地址,而不是實際內存,因此不要覺得y=x程序的執行,是 b=a的執行。這二者是不相等的
相關文章
相關標籤/搜索