Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/354.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/symfony/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 为什么我不能传递相对于地块/序列对象的参考地址?_Java_Android - Fatal编程技术网

Java 为什么我不能传递相对于地块/序列对象的参考地址?

Java 为什么我不能传递相对于地块/序列对象的参考地址?,java,android,Java,Android,根据StackOverflow和internet,传递对象的方式是序列化或打包(或使用“静态”——不赞成) 我想知道为什么我不能通过这个地址 MainActivity.toString(); // MainActivity@b0ff5f80 那么,在新类/活动中,只需更改新创建对象的地址 MainActivity originalMainActivity = new MainActity(); originalMainActivity = getIntent.getStringEx

根据StackOverflow和internet,传递对象的方式是序列化或打包(或使用“静态”——不赞成)

我想知道为什么我不能通过这个地址

     MainActivity.toString();  // MainActivity@b0ff5f80
那么,在新类/活动中,只需更改新创建对象的地址

MainActivity originalMainActivity = new MainActity();
originalMainActivity = getIntent.getStringExtra("originalMainActivity");
//yes I realize the above line is incompatible....Obj != String 
如果对象已经创建并且位于堆中(我想是??) 为什么我们不能重新分配地址?如果可以,请有人举个例子?多谢各位

p、 (毕竟,当我们在构造函数中传递类对象时,我们实际上并没有传递ref address)Thx

那么,在新类\活动中,只需更改新创建对象的地址

MainActivity originalMainActivity = new MainActity();
originalMainActivity = getIntent.getStringExtra("originalMainActivity");
//yes I realize the above line is incompatible....Obj != String 
除其他原因外,这在Java中是不可能的

那么,在新类\活动中,只需更改新创建对象的地址

MainActivity originalMainActivity = new MainActity();
originalMainActivity = getIntent.getStringExtra("originalMainActivity");
//yes I realize the above line is incompatible....Obj != String 
除其他原因外,这在Java中是不可能的

那么,在新类\活动中,只需更改新创建对象的地址

MainActivity originalMainActivity = new MainActity();
originalMainActivity = getIntent.getStringExtra("originalMainActivity");
//yes I realize the above line is incompatible....Obj != String 
除其他原因外,这在Java中是不可能的

那么,在新类\活动中,只需更改新创建对象的地址

MainActivity originalMainActivity = new MainActity();
originalMainActivity = getIntent.getStringExtra("originalMainActivity");
//yes I realize the above line is incompatible....Obj != String 

其他原因,因为在java中是不可能的。

你似乎是在思考地址,好像你在C或C++中。

然而:

  • 您完全误解了
    toString
    的用途:在一般情况下,
    toString
    的唯一有效用途是打印对象的表示,用于调试目的。没有什么可以说明该字符串可以在以后用于重新生成或再次查找对象

  • Java语言不提供任何访问内存地址的方法,部分原因是垃圾收集器通常可以自由地重新排列内存。解决这个问题的唯一方法是固定对象并在Java语言之外进行操作


  • 此外,您应该了解,当您从
    包裹中取出一个对象时,您不一定处于同一进程中(即使是您的进程,您的进程在重新启动之前可能已被后台终止),因此您的方法只能在有限的情况下工作。

    您似乎在考虑地址,就好像你在C或C++一样。

    然而:

  • 您完全误解了
    toString
    的用途:在一般情况下,
    toString
    的唯一有效用途是打印对象的表示,用于调试目的。没有什么可以说明该字符串可以在以后用于重新生成或再次查找对象

  • Java语言不提供任何访问内存地址的方法,部分原因是垃圾收集器通常可以自由地重新排列内存。解决这个问题的唯一方法是固定对象并在Java语言之外进行操作


  • 此外,您应该了解,当您从
    包裹中取出一个对象时,您不一定处于同一进程中(即使是您的进程,您的进程在重新启动之前可能已被后台终止),因此您的方法只能在有限的情况下工作。

    您似乎在考虑地址,就好像你在C或C++一样。

    然而:

  • 您完全误解了
    toString
    的用途:在一般情况下,
    toString
    的唯一有效用途是打印对象的表示,用于调试目的。没有什么可以说明该字符串可以在以后用于重新生成或再次查找对象

  • Java语言不提供任何访问内存地址的方法,部分原因是垃圾收集器通常可以自由地重新排列内存。解决这个问题的唯一方法是固定对象并在Java语言之外进行操作


  • 此外,您应该了解,当您从
    包裹中取出一个对象时,您不一定处于同一进程中(即使是您的进程,您的进程在重新启动之前可能已被后台终止),因此您的方法只能在有限的情况下工作。

    您似乎在考虑地址,就好像你在C或C++一样。

    然而:

  • 您完全误解了
    toString
    的用途:在一般情况下,
    toString
    的唯一有效用途是打印对象的表示,用于调试目的。没有什么可以说明该字符串可以在以后用于重新生成或再次查找对象

  • Java语言不提供任何访问内存地址的方法,部分原因是垃圾收集器通常可以自由地重新排列内存。解决这个问题的唯一方法是固定对象并在Java语言之外进行操作


  • 此外,您应该了解,当您从
    包裹
    中取出对象时,您不一定处于同一进程中(即使是您的进程,您的进程在重新启动之前可能已被后台终止)-因此,您的方法只能在有限的情况下工作。

    我明白了,因此,错误在于将Class.toString()地址视为对象的永久地址。那么当我在构造函数中传递一个类对象时呢?我到底通过了什么?为清楚起见,请使用Thx。您正在传递对对象的引用,但使用该引用可以做的唯一事情是将其指定给另一个对象,或者访问它所指向的对象。我明白了,所以错误在于将Class.toString()地址视为对象的永久地址。那么当我在构造函数中传递一个类对象时呢?我到底通过了什么?为了清晰起见,Thx。您正在传递对对象的引用,但使用该引用所能做的唯一事情是将其指定给指向d