gpt4 book ai didi

java - 当初始化变量链接到另一个变量时?

转载 作者:行者123 更新时间:2023-12-02 02:01:51 25 4
gpt4 key购买 nike

我想了解什么是clone()方法的好处以及何时应该使用它,为什么有时当我将一个变量的值赋予另一个变量时另一个变量变量链接到第一个变量,我的意思是当您对其中一个变量进行更改时,另一个变量的值会自动更改为您更改的值,尽管有时不会发生 。好的,现在我展示一些例子:-

  • 当将 Android Java 语言中的 RectF 变量初始化为另一个 RectF 变量时,会发生这种情况(例如):-

    static RectF var1;

    //initialise it

    static void someVoid(){
    RectF var2 = var1;
    var2.set(...);
    //now when i changed var2 also the var1 changed
    }
  • 但是当将一个Integer变量初始化为另一个整数变量时,它不会发生,(例如):-

    static int azhy = 1000;

    static void someVoid(){
    int hello = azhy;
    hello++;
    //now when i change the hello variable azhy variable stays constantly
    }

我在某个地方搜索过,但没有找到结果,所以如果您能给我一些描述,我会谢谢您。

最佳答案

查看答案here有关对象和基元之间差异的一些有用的背景知识。 int 是原始类型,而 RectF 是对象。

您可以将原始类型赋值操作 (int hello = azhy;) 视为将值从 azhy 复制到 hello,但是它们不引用同一个对象(因此修改 hello 不会修改 azhy

另一方面,RectF 是一个对象,因此调用 RectF var2 = var1; 意味着 var1var2 现在引用同一个对象。因此,调用 var2 上的方法会修改 var1

注意,int 是原始类型,但 Integer (您在问题中引用的)是一个对象。

关于java - 当初始化变量链接到另一个变量时?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51461462/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com