2016-10-21 4 views
0

В vala, == сравнивает содержимое для типа строки. Я хочу сравнить две ссылки (включая строки), такие как java's obj == obj2. Я не мог найти документа об этом.Сравнение ссылок на объекты в Vala

Как это сделать?

+1

Возможный дубликат [Как сравнить строки в Java] (http://stackoverflow.com/questions/513832/how-do-compare-strings-in-java) – xenteros

+0

Мой вопрос касается Валы, а не Java. –

+0

Строки не являются объектами в Вала, так какой контекст, в котором вы пытаетесь сделать сравнение? – apmasell

ответ

3

Вы можете получить доступ к базовому массиву байтов, чтобы сравнить его по ссылке.

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

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

В целом, сравнение ссылок не имеет значения, поскольку строка может содержать только одного владельца. Если у вас есть две сильные ссылки на объекты string, они гарантируют, что они будут разными.

Именно поэтому b был отобран с плохой ссылкой от a, в противном случае будет сделана копия.

 Смежные вопросы

  • Нет связанных вопросов^_^