たぶん私はただ頭がおかしいのかもしれないし、あるいは物事がどのように機能するのかを忘れているのかもしれない。しかし、私は(Groovyを学びながら)バグを追いかけていましたが、次のアサーションが失敗することがわかりました。文字列リテラルを使用すると、Stringの新しいインスタンスが作成されると思いました。私が間違っている?
String one = 'one'
String two = 'one'
// I thought this should fail, but it doesn't
assert one.is(two) == false
one = new String("one")
two = new String("one")
// This works as expected
assert one.is(two) == false
dump()メソッドを使用すると、それらが実際にStringの同じインスタンスであることがわかります。任意のヘルプやガイダンスをいただければ幸いです。
ありがとう!