?????? 值類(lèi)型: 每個(gè)實(shí)例都會(huì)保留的有一份獨(dú)有的數(shù)據(jù)拷貝,一般以結(jié)構(gòu)體、枚舉或者元組的形式出現(xiàn)。
?????? 引用類(lèi)型:每個(gè)實(shí)例共享同一份數(shù)據(jù)來(lái)源,一般以類(lèi)的形式出現(xiàn)。
?????? 用通俗的話(huà)來(lái)說(shuō)就是,值類(lèi)型就像是復(fù)印一份報(bào)告一樣,復(fù)印了之后,修改原件上的內(nèi)容,復(fù)印件的內(nèi)容不會(huì)改變;而復(fù)制一個(gè)引用類(lèi)型,則相當(dāng)于我共享我的電腦給你使用,當(dāng)你改變我電腦里面的數(shù)據(jù)時(shí),我使用的時(shí)候數(shù)據(jù)就會(huì)變?yōu)槟愀淖兊?。可能舉例有些不生動(dòng)、形象,但是希望看官能夠明白我所說(shuō)的意思。
值類(lèi)型和引用類(lèi)型的區(qū)別:
?????? 值類(lèi)型和引用類(lèi)型最明顯的區(qū)別在于被復(fù)制之后。當(dāng)一個(gè)值類(lèi)型被復(fù)制的時(shí)候,就相當(dāng)于創(chuàng)造了一個(gè)完全獨(dú)立的實(shí)例,這個(gè)實(shí)例有屬于自己的獨(dú)有的數(shù)據(jù),不會(huì)因?yàn)槠渌麑?shí)例的數(shù)據(jù)變化而有所改變。而引用類(lèi)型的復(fù)制,在改變一個(gè)實(shí)例的時(shí)候,另一個(gè)實(shí)例也會(huì)隨之改變。
什么時(shí)候該用值類(lèi)型呢:
1.要用==運(yùn)算符來(lái)比較實(shí)例的數(shù)據(jù)時(shí);
2.希望某個(gè)實(shí)例的拷貝能保持獨(dú)立的狀態(tài)時(shí);
3.數(shù)據(jù)會(huì)被多個(gè)線(xiàn)程所使用時(shí);
什么時(shí)候該用引用類(lèi)型呢:
1.要用==運(yùn)算符來(lái)比較實(shí)例的身份時(shí);
2.希望創(chuàng)建一個(gè)共享的可變對(duì)象時(shí);