java传值和通过引用传递
生活随笔
收集整理的這篇文章主要介紹了
java传值和通过引用传递
小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.
第一次使用int實(shí)驗(yàn):
public class TTEST {private static List<UserEntity> mList = new LinkedList<UserEntity>(); public static void main(String[] args) {int a = 0;changeA(a);System.out.println("a = "+a);}public static void changeA(int a){a = 1;} }輸出:a = 0
這說(shuō)明對(duì)于int值是按值傳遞。其它幾個(gè)基本類型也是如此。
再使用自定義的類UserEntity來(lái)實(shí)驗(yàn):
public class UserEntity {private String name;public String getName() {return name;}public void setName(String name) {this.name = name;}}public class TTEST {public static void main(String[] args) {UserEntity userEntity = new UserEntity();userEntity.setName("猿猴");changeName(userEntity);System.out.println("name = "+userEntity.getName());}public static void changeName(UserEntity userEntity){userEntity.setName("忽必烈");} } 輸出:name = 忽必烈
我們?cè)賮?lái)使用一個(gè)linkedList<Object>來(lái)實(shí)驗(yàn):
import java.util.LinkedList; import java.util.List;public class TTEST {private static List<UserEntity> mList = new LinkedList<UserEntity>(); public static void main(String[] args) {UserEntity userEntity = new UserEntity();userEntity.setName("石頭");addUser(userEntity);System.out.println("name = "+userEntity.getName());}public static void addUser(UserEntity userEntity){mList.add(userEntity);mList.get(0).setName("猿猴");} }輸出:name = 猿猴這說(shuō)明在使用我們自定義的類時(shí),是按引用傳遞的。
接著。再來(lái)使用String實(shí)驗(yàn):
public class TTEST {public static void main(String[] args) {String str= "開始的";changeStr(str);System.out.println("str = "+str);}public static void changeStr(String str){str = "改變的";} }輸出:str = 開始的用Integer做實(shí)驗(yàn)也會(huì)發(fā)現(xiàn)沒(méi)有改變。
說(shuō)明我們依照java內(nèi)置的對(duì)象也是值傳遞。因此我們能夠做例如以下總結(jié):
僅僅要我們自定義的類創(chuàng)建的對(duì)象。都是引用傳遞,系統(tǒng)內(nèi)置基本類型和對(duì)象是通過(guò)轉(zhuǎn)移。
版權(quán)聲明:本文博客原創(chuàng)文章,博客,未經(jīng)同意,不得轉(zhuǎn)載。
總結(jié)
以上是生活随笔為你收集整理的java传值和通过引用传递的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: Entity Framework中使用I
- 下一篇: 车牌号识别大全