var arr =
intarrayof(1
,2,3
,4,5
)var arr1 =
arrayof(1
,2,3
,4,5
)var arr2 = arrayofnulls(5
)var arr3 =
array(5
)var arr4 =
intarray(5
)
對於建立乙個int型別的陣列,可以如上的5種方式進行建立。
可看如下例項:
fun
mylist
(vararg
inner
: int)
funmylist2
(vararg inner2: int?
)
上述2個方法的區別其實只在於 int後面有沒有?號,我們反編譯看一下。
public
final
class varargthinkkt
public static final void mylist2
(@notnull integer..
. inner2)
}
mylist是int… inner
mylist2是integer …inner2
我們通過例子來看看如何使用的問題
fun
mylist
(vararg
inner
: int)
funmylist2
(vararg inner2: int?
)fun
main()
我們建立array的時候,如果不需要 null,是不是用intarray更優秀了?
kotlin的每個函式都有特定的型別,函式型別由函式的形參列表,->和返回值型別組成。
3.1 使用函式型別
fun
fun1
(a: int, b: int)
: int = a + b
funfun2
(width: int, height: int)
: int
//定義函式型別
var myfun:
(int, int)
-> int
myfun =
::fun1
myfun(3
,4)//7
myfun =
::fun2
myfun(3
,4)//12
3.2函式型別作為形參fun
square
(n: int)
: int
funcube
(n: int)
: int
funfun3
(data
: array
, fn:
(int)
-> int)
: intarray
return temp
}//函式型別做形參
var arr1 =
arrayof(1
,2,3
,4,5
)println
(fun3
(arr1,
::square)
.contenttostring()
)println
(fun3
(arr1,
::cube)
.contenttostring()
)
3.3函式型別作返回值fun
square
(n: int)
: int
funcube
(n: int)
: int
funfun4
(type: string)
:(int)
-> int
}//函式型別做返回值
var square =
fun4
("square"
)println
(square(5
))var cube =
fun4
("cube"
)println
(cube(5
))
Kotlin中陣列 SET MAP學習筆記
package arrray author 江南一周 373654981 date 2018 06 20 10 56 created by administrator on 2018 6 20.var a arrayof 1,2,3,4 建立陣列使用了裝箱操作 var b arrayofnulls ...
Android中Kotlin語言建構函式的使用
如果要利用建構函式,kotlin必須有主建構函式 才能寫其他建構函式 這裡可以叫次建構函式 1 主建構函式 可以攜帶引數,這個引數直接成為全域性變數 在專案中的例子 public class guideviewpageradapter var context context pageradapter...
Hive中建立結構體 陣列以及map
row format delimited 分隔符設定開始語句 fields terminated by 設定欄位與字段之間的分隔符 collection items terminated by 設定乙個複雜型別 array,struct 欄位的各個item之間的分隔符 map keys termin...