Kotlin有指针吗?

时间:2018-08-15 09:39:01

标签: pointers kotlin

科特林有指针吗? 如果是,

  1. 如何增加指针?

  2. 如何减少指针?

  3. 如何进行指针比较?

2 个答案:

答案 0 :(得分:7)

它具有引用,并且不支持指针算术(因此您不能递增或递减)。

请注意,“具有指针”允许您执行的唯一操作就是创建指针和取消引用指针的能力。

与“指针比较”最接近的是引用相等,它是由===运算符执行的。

答案 1 :(得分:0)

Kotlin 中没有用于像 C 这样的低级处理的指针。

但是,有可能在高级编程中模拟指针。

对于低级编程,有必要使用特殊的系统API在 Windows Linux等中存在的内存中模拟阵列。了解内存映射文件{{3} }和here。 Java here库可直接在内存中进行读写。

单个类型(数字,字符串和布尔值)是值,但是,其他类型是 Kotlin 中的引用(高级指针),可以进行比较,赋值等。

如果需要增量或减量指针,只需将所需的数据包封装到一个数组中

对于模拟指向简单值的指针,只需将值包装在一个类中即可:

data class pStr (   // Pointer to a String
  var s:String=""
)

fun main() {
 var st=pStr("banana")
 var tt=st
 tt.s = "melon"
 println(st.s) // display "melon"

 var s:String = "banana"
 var t:String = s
 t.s = "melon"
 println(s.s) // display "banana"
}