【问题标题】:Comparing object references in Vala比较 Vala 中的对象引用
【发布时间】:2016-10-21 11:31:38
【问题描述】:

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

怎么做?

【问题讨论】:

  • 我的问题是关于 Vala,而不是 Java。
  • 字符串不是 Vala 中的对象,那么您尝试进行比较的上下文是什么?

标签: vala


【解决方案1】:

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

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

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

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

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

【讨论】:

    猜你喜欢
    • 2016-05-10
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-09-02
    • 2015-09-19
    • 2014-02-14
    相关资源
    最近更新 更多