相关疑难解决方法(0)

Java是"通过引用传递"还是"传递价值"?

我一直认为Java是传递引用的.

但是,我看过一些博客文章(例如,这个博客)声称它不是.

我不认为我理解他们所做的区别.

解释是什么?

java methods parameter-passing pass-by-reference pass-by-value

6270
推荐指数
80
解决办法
189万
查看次数

在 Kotlin 中通过引用传递整数

我正在尝试创建一个交换函数,它接受两个参数,如下所示:

fun swap(a :Int, b:Int) {

}
Run Code Online (Sandbox Code Playgroud)

我这样称呼它:

  var a = 10
    var b = 5

    swap(a,b)

    // a should be 5
    // b should be 10
Run Code Online (Sandbox Code Playgroud)

问题是,即使我交换了交换函数内的值,它也不会反映在调用者的一侧,因为它是作为副本而不是作为引用传递的。

反正有没有将值类型传递给交换函数并允许函数改变它们的能力。

kotlin

8
推荐指数
3
解决办法
5526
查看次数

如何在Kotlin中设置属性值

我试图设置一个属性值,如下面的代码片段所示.这个问题并没有回答这个问题.

var person = Person("john", 24)
        //sample_text.text = person.getName() + person.getAge()
        var kon = person.someProperty
        person.someProperty = "crap" //this doesn't allow me to set value
        kon = "manulilated"  //this allows me to set the value
        sample_text.text = kon

class Person(val n: String, val a: Int){
    var pname: String = n
    var page: Int = a

    var someProperty: String = "defaultValue"
        get() = field.capitalize()
        private set(value){field = value}
    fun Init(nm: String, ag: Int){
        pname = nm
        page = ag …
Run Code Online (Sandbox Code Playgroud)

android kotlin

2
推荐指数
1
解决办法
3111
查看次数

Kotlin 值与赋值中的引用

我需要让一个班级引用另一个班级。不是创建它的副本,而是对已经存在的实例进行实际引用。

我也许可以用一个例子更好地解释它。我们有没有课Image

class Image(imgPath: String) {
    val height   : Int
    val width    : Int
    val rgbMatrix: MutableList< MutableList< Triple<Int, Int, Int> > >

    /* ... etc. ... */
}
Run Code Online (Sandbox Code Playgroud)

现在说我想要一个ImageManager只引用一个已经存在的类Image

class ImageManager(val img: Image) {
   /* ... */
}
Run Code Online (Sandbox Code Playgroud)

所以我可以有这种行为:

val image = Image("/res/images/image.png")

val imageManager = ImageManager(image)

// Setting the pixel at (125, 25) to black
imageManager.img.rgbMatrix[125, 25] = Triple(0, 0, 0)

// Should print the update value(0, 0, 0)
print( image.rgbMatrix[125, 25] …
Run Code Online (Sandbox Code Playgroud)

oop reference class object kotlin

2
推荐指数
1
解决办法
4908
查看次数