В vala, ==
сравнивает содержимое для типа строки. Я хочу сравнить две ссылки (включая строки), такие как java's obj == obj2
. Я не мог найти документа об этом.Сравнение ссылок на объекты в Vala
Как это сделать?
В vala, ==
сравнивает содержимое для типа строки. Я хочу сравнить две ссылки (включая строки), такие как java's obj == obj2
. Я не мог найти документа об этом.Сравнение ссылок на объекты в Vala
Как это сделать?
Вы можете получить доступ к базовому массиву байтов, чтобы сравнить его по ссылке.
string a = "a";
unowned string b = a;
assert (a.data == b.data);
В целом, сравнение ссылок не имеет значения, поскольку строка может содержать только одного владельца. Если у вас есть две сильные ссылки на объекты string
, они гарантируют, что они будут разными.
Именно поэтому b
был отобран с плохой ссылкой от a
, в противном случае будет сделана копия.
Возможный дубликат [Как сравнить строки в Java] (http://stackoverflow.com/questions/513832/how-do-compare-strings-in-java) – xenteros
Мой вопрос касается Валы, а не Java. –
Строки не являются объектами в Вала, так какой контекст, в котором вы пытаетесь сделать сравнение? – apmasell