如何在Kotlin中创建固定大小的IntArray并在以后初始化数组?

时间:2017-07-15 20:36:26

标签: arrays kotlin

我只是在kotlin的初级水平。 我没有任何办法在kotlin中为数组添加值。 我想从用户那里获取值并将它们添加到数组中。

Cursor myCursor = db.rawQuery("SELECT * FROM measurements WHERE _id = 1", null);
String myEditTextValue =  myCursor.getString(*ColumnIndexHere*);

EditText myEditText= (EditText) findViewById(R.id.*EditTextIdHere*);
myEditText.setText(myEditTextValue );

val arr = arrayOf<Int>()

就像在Java中一样,

var arr = intArrayOf()

如何在kotlin中执行相同操作?

2 个答案:

答案 0 :(得分:5)

您需要escape in类的静态字段System并带反引号(`),因为in是Kotlin中的关键字。例如:

val ob = Scanner(System.`in`)

您可以创建固定大小的int[]数组,而无需立即在Kotlin中初始化它,然后数组中元素的默认值为0。例如:

val arr = IntArray(5) // create IntArray via constructor

在Kotlin中使用for-loop有一点不同,例如:

for(i in 0 until arr.size){
    arr[i] = ob.nextInt();
}

OR 在创建过程中初始化int[]数组,例如:

val arr = IntArray(5){ ob.nextInt() }

答案 1 :(得分:2)

阵列具有固定大小。创建数组时,必须在初始化期间声明它的大小。

val arr: IntArray = intArrayOf(1, 2, 3)

val arr = arrayOf(1, 2, 3)

val arr = Array (3){it}

如果要创建可以动态添加值的集合,则可以创建可变列表。

val list = mutableListOf<Int>()
list.add(1)
list.add(2)
list.add(3)