如何在 Scala 中查找列表的引用

Posted

技术标签:

【中文标题】如何在 Scala 中查找列表的引用【英文标题】:How to find the reference of a List in Scala 【发布时间】:2022-01-01 11:27:18 【问题描述】:

我有一个 List(fruits),我想找到并打印它的引用(内存地址),我该怎么做?

val fruits:List[String]=List("apple","orange","pear")

【问题讨论】:

WDYM 跟 "references" 有关系吗? 水果对象的参考@LuisMiguelMejíaSuárez 我还是不明白,WDYM 与水果对象的引用?你是指他们的内存地址吗? 是的,我的意思是水果或任何其他集合的内存地址。 好吧,AFAIK,你不能得到一个对象的内存地址。你为什么要得到那个?您要解决的元问题是什么? 【参考方案1】:

您所说的引用并不是很清楚。一个字符串已经是一个引用。如果你想取消细化它(“忘记”底层结构是一个字符串)并且只有一个纯引用,你可以依赖一个事实,即如果协变和 List[String] 是 List[ 的子类型,则列表的类型参数AnyRef]。

val refs: List[AnyRef] = fruits

不知道为什么这会有用。参考文献无能为力。

【讨论】:

我指的是fruit的内存地址。我能找到吗? 不可能得到JVM上任何原始变量或对象的地址。关闭的东西是带有 System.identityHashCode(a) 的对象哈希码。这和它的地址有关,但这里没有保证。 好的,我的意思是Java中的这种情况,它是特定时间的内存引用,我可以拥有它吗? System.identityHashCode(a) 是这样的吗?

以上是关于如何在 Scala 中查找列表的引用的主要内容,如果未能解决你的问题,请参考以下文章

如何在 Spark/Scala 中查找具有许多空值的列

如何在 Scala 中处理大列表?

如何在 Scala 中展平期货列表

在 Scala 中查找与谓词匹配的项目

如何在Scala中展平不同类型的列表?

如何在 Scala 文档中读取类/对象