在 Vala 中比较对象引用

Comparing object references in Vala

在vala中,==比较字符串类型的内容。我想比较两个对象(包括字符串)引用,如 java 的 obj == obj2。我找不到关于它的文档。

怎么做?

您可以访问底层字节数组以通过引用进行比较。

string a = "a";
unowned string b = a;

assert (a.data == b.data);

更一般地说,比较引用是不相关的,因为字符串只能有一个所有者。如果你对 string 对象有两个强引用,它们肯定是不同的。

这就是为什么 b 被分配了来自 a 的弱引用的原因,否则将进行复制。