欧美一区二区三区,国内熟女精品熟女A片视频小说,日本av网,小鲜肉男男GAY做受XXX网站

java 中ref 和out

在Java中,ref和out是兩種參數(shù)傳遞的方式,我們來詳細(xì)了解一下。


ref是引用類型參數(shù)傳遞,在傳遞參數(shù)時(shí),實(shí)際上傳遞的是引用的地址。這樣, 在方法中對參數(shù)進(jìn)行修改時(shí),原始引用指向的對象也會(huì)相應(yīng)地被修改。例如:

public static void refExample(List list){
list.add("Hello World");
}
public static void main(String[] args){
Lists = new ArrayList<>();
refExample(s);//在該方法執(zhí)行完畢之后,s的內(nèi)容將變?yōu)?Hello World"
}

可以看到,我們在一個(gè)方法中對傳遞進(jìn)來的List對象進(jìn)行修改,這時(shí)如果List對象是在方法外面定義的,那么方法執(zhí)行后List的內(nèi)容也會(huì)變化。


out則是值類型參數(shù)傳遞,在傳遞參數(shù)時(shí),實(shí)際上傳遞的是值的拷貝。這樣,在方法中對參數(shù)進(jìn)行修改時(shí),原始值不會(huì)受到影響。例如:

public static void outExample(int i){
i = i + 1;
}
public static void main(String[] args){
int x = 1;
outExample(x);//方法執(zhí)行完畢后x的值仍為1
}

可以看到,我們在一個(gè)方法中對傳遞進(jìn)來的int型參數(shù)進(jìn)行修改,這時(shí)如果int型參數(shù)是在方法外面定義的,那么方法執(zhí)行后int型參數(shù)的值不會(huì)變化。


因此,需要根據(jù)需要選擇使用ref或out來傳遞參數(shù)。