Kotlin val var共同點及區別
var 可變變數
val 只讀變數
相同點:都為推測型別並且都是首次初始化就確定變數型別
區別: var可以多次初始化,val只能初始化一次
特殊情況:
val abc:ArrayList<String> = ArrayList()
Log.w("aaa","size is ${abc.size}")
abc.add("aaa")
Log.w("aaa","size is ${abc.size}")
abc.clear()
Log.w("aaa","size is ${abc.size}")
結果如下:
W/aaa: size is 0
W/ aaa: size is 1
W/aaa: size is 0
結論 :val修飾集合的時候,只確定集合型別,而不影響裡面的資料多少
相關推薦
Kotlin val var共同點及區別
var 可變變數 val 只讀變數 相同點:都為推測型別並且都是首次初始化就確定變數型別 區別: var可以多次初始化,val只能初始化一次 特殊情況: val abc:ArrayList<String> = ArrayList() Log.w("aaa","si
JAVA中的vector,arraylist,linkedlist有什麼共同點及區別?
在百度知道里獲得這個問題的答案,感覺寫的非常好。所以貼出來分享: 一·ArrayList,LinkedList,Vestor這三個類都實現了java.util.List介面,但它們有各自不同的特性,主要如下:一、同步性ArrayList,LinkedList是不同
android Kotlin: val和var的區別
val用於宣告常量 /** * 宣告常量 */ fun main(args: Array<String>){ val a: Int = 1 //立即初始化 val b
Kotlin: val和var的區別
val用於宣告常量 /** * 宣告常量 */ fun main(args: Array<String>){ val a: Int = 1 //立即初始化 val b
Kotlin run、with、apply、also、let、takeIf、takeUnless、repeat的使用及區別
文章目錄 run with apply also let takeif takeUnless repeat 總結 使用場景 具體程式碼中的使用 1、屬性設定(包括自定義類和系統物件)
JS中const、var和let區別
方法 pre 命令 con 使用 它的 comm 作用 影響 在JavaScript中有三種聲明變量的方式:var、let、const。 1.const 聲明創建一個只讀的常量。這不意味著常量指向的值不可變,而是變量標識符的值只能賦值一次,必須初始化。 const b
Linux中yum和apt-get用法及區別
記錄 auto yum安裝軟件 mirror 內核 epo 綁定 提示 們的 Linux中yum和apt-get用法及區別 一般來說著名的linux系統基本上分兩大類: 1.RedHat系列:Redhat、Centos、Fedora等 2.Debian系列:De
php中session和cookie的使用及區別
網上商城 標識 禁止 bsp 身份驗證 main str 什麽 ets 1.cookie的使用 什麽是 Cookie? cookie 常用於識別用戶。cookie 是服務器留在用戶計算機中的小文件。每當相同的計算機通過瀏覽器請求頁面時,它同時會發送 cookie。通過
mysql數據庫存儲引擎及區別
recover 訪問速度 run dir director ole 大小 directory class MySQL有多種存儲引擎,每種存儲引擎有各自的優缺點,可以擇優選擇使用:MyISAM、InnoDB、MERGE、MEMORY(HEAP)、BDB(BerkeleyDB)
jacript var let const 區別
output out 直接 代碼片段 修改 ons 聲明 測試 log 代碼片段1: var xx = 1 var xx = 2 console.log(xx) output: 2 代碼片段2: let xx = 3; let xx = 4; console.log(xx)
cookie localStorage與sessionStorage的使用及區別
func 創建 兼容 mat console tor sessions regex item cookie是儲存在用戶本地終端上的數據,意思就是能把用戶的一些文字信息儲存下來,但是cookie的儲存空間特別小,一個瀏覽器能創建的 Cookie 數量最多為 300 個,並且每
var/let/const區別何在??
strong 編譯 tro sig 約束 自動 github 人員 ++ 原文地址:http://www.cnblogs.com/liuhe688/p/5845561.html let和const有很多相似之處,先說一說let吧。 1. let添加了塊級作用域 我們知道
進程與線程的定義、關系及區別
體系 主存 font 是把 ase 多少 單線程 一個 i/o 進程與線程的定義、關系及區別 ——參考博客文章:http://blog.csdn.net/yanxiaolx/article/details/51763372 一、進程的定
cacti,zabbix,nagios各自原理及區別
監控cacti原理:1,構件(步驟):net_snmp:負責數據采集rrdtool:數據存儲以及繪圖mysql:保存模板和主機對應的信息數據采集:cacti使用poller(輪詢器)收集數據,主要使用snmp協議從遠端的設備上收集數據。數據存儲:cacti使用rrdtool(環形數據庫)存儲收集到的數據(時間
預處理、const、static與sizeof-使用const與#define的特點及區別
特點 周期 sizeof 傳遞 const常量 fin 參數 編譯器 run 1:#define只是用來做文本替換的。例如: #define PI 3.1415926 float angle; angle=30*PI/180; 那麽,程序進行編譯的時候,編譯器會
延遲加載和立即加載的代碼及區別
img cnblogs 進行 mage 效率 png targe ref 數據加載 延遲加載(lazy load)是(也稱為懶加載)Hibernate3關聯關系對象默認的加載方式,延遲加載機制是為了避免一些無謂的性能開銷而提出來的,所謂延遲加載就是當在真正需要數據的時候,才
linux系統中如何進入退出vim編輯器的方法及區別
sig bili 編輯器 html enter mil erl convert dstat 在linux家族中,vim編輯器是系統自帶的文本編輯器,其功能強大自不必說了。 偶有小白,剛接觸linux,要修改某個文本文件,不可能像WINDOWS那樣操作
Android中三種常用解析XML的方式(DOM、SAX、PULL)簡介及區別
字符串 lan win name屬性 Coding 空間 toc log fin XML在各種開發中都廣泛應用,Android也不例外。作為承載數據的一個重要角色,如何讀寫XML成為Android開發中一項重要的技能。今天就由我向大家介紹一下在Android平臺下幾種常見的
C#:ref和out的聯系及區別。
args c# 區分 div temp 查看 按引用傳遞 影響 bsp 之前學習C#時候就遇到了這個問題,不過當時沒有深究。昨晚想到這個問題時候自己嘗試敲了敲代碼,結果從運行的結果來看,越看越亂。在查看了一些資料的基礎上,自己總結了一下。 可能會有點亂,但是自己總結出來的東
淺析JavaScript訪問對象屬性和方法及區別
cti on() 對象方法 編寫程序 因此 brush new 函數 name 屬性是一個變量,用來表示一個對象的特征,如顏色、大小、重量等;方法是一個函數,用來表示對象的操作,如奔跑、呼吸、跳躍等。 在JavaScript中通常使用”."運算符來存取對象的屬性的值。或者使