在 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
的弱引用的原因,否则将进行复制。
在vala中,==
比较字符串类型的内容。我想比较两个对象(包括字符串)引用,如 java 的 obj == obj2
。我找不到关于它的文档。
怎么做?
您可以访问底层字节数组以通过引用进行比较。
string a = "a";
unowned string b = a;
assert (a.data == b.data);
更一般地说,比较引用是不相关的,因为字符串只能有一个所有者。如果你对 string
对象有两个强引用,它们肯定是不同的。
这就是为什么 b
被分配了来自 a
的弱引用的原因,否则将进行复制。