- iOS/Objective-C 元类和类别
- objective-c - -1001 错误,当 NSURLSession 通过 httpproxy 和/etc/hosts
- java - 使用网络类获取 url 地址
- ios - 推送通知中不播放声音
我对对象引用的工作方式感到困惑,想知道是否有人可以提供帮助。下面是一些示例代码,它应该根据一般情况下的链表对队列进行出队:
Object head = listHead.datum;
listHead = listHead.next;
return head;
我的理解是,当你有一个原始变量时,实际存储的值被分配给它,但如果变量是一个对象,那么一个对象的引用存储在那里。所以在上面的代码中,对 listHead.datum 的引用存储在 head 中,但随后存储在 listHead 中的引用更改为 listHead.next。当需要返回名为 head 的对象时,我认为它会遵循分配给它的引用,即转到 listHead(现在指的是不同的地方),然后转到 datum。
上面的代码应该返回队列的头部,但按照我的逻辑它将返回队列中的第二个。我哪里错了?
最佳答案
我们有:
Object head = listHead.datum;
listHead = listHead.next;
return head;
这里有很多引用资料:
listHead
是一个引用head
是一个引用listHead.datum
是一个引用listHead.next
是一个引用有两个实际的对象实例被引用:
datum
引用(我们称该实例为D
)next
引用(我们称该实例为N
)事情是这样的。
listHead.datum
引用了 D
listHead.next
引用了 N
head
被赋予了对 D
N
的引用(注意 head
没有改变)head
仍然引用 D
关于java - 对对象引用在 Java 中的工作方式感到困惑,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13805141/
我正在尝试学习Rust。我正在阅读一本书online,该书实现了unix程序cat。现在,我试图读取作为像cargo run file1.txt file2.txt这样的参数传递的文件的内容,但是程序
我在 GHC 8.0.1 中遇到了一个带有种类索引 (?) GADT 的奇怪情况,其中在类型与种类签名中引入 foralls 会产生不同的类型检查行为。 考虑以下数据类型: {-# LANGUAGE
我正在使用 Perl 5.10 开发应用程序,HTML::Mason和 Apache 2.2。这是我第一次在大型项目中使用 Perl 5.10。我每隔一段时间就会出现奇怪的行为。应用程序因一个非常奇怪
我正在尝试将文件上传到aws中的rust中,因为我使用的是 rusoto_s3 的s3 rust客户端,当这些部分从单个线程发送时,我设法使分段上传代码正常工作不是我想要的,我想上传大文件,并且希望能
我是一名优秀的程序员,十分优秀!