2016-10-21 8 views
0

valaでは、==は文字列型の内容を比較します。私はjavaのobj == obj2のような2つのオブジェクト(文字列を含む)の参照を比較したい。私はそれについての文書を見つけることができませんでした。Valaでのオブジェクト参照の比較

どうすればよいですか?

+1

[Javaで文字列を比較するにはどうすればいいですか](0120-338327) – xenteros

+0

私の質問はVala、 Javaではありません。 –

+0

文字列はValaのオブジェクトではないので、比較しようとしているコンテキストは何ですか? – apmasell

答えて

3

基本となるバイト配列にアクセスして参照で比較することができます。

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

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

さらに一般的に、文字列には1人の所有者しか存在しないため、参照の比較は関係ありません。 stringオブジェクトに2つの強力な参照がある場合、それらは異なることが保証されています。

bにはaの弱い参照が割り当てられています。そうでない場合はコピーが作成されます。

関連する問題