/ / groovy配列のバイト配列の比較、groovy

groovy配列のバイト配列を比較する、groovy

私はGroovyでバイト配列を宣言しています:

def array1 = [-1,5,3] as byte []

def array2 = [-5,2,9] as byte []

2つの配列を比較して、配列の各要素が同じかどうかに基づいてtrue / falseを返す方法

私はこれを試した groovysh しかし、それは誤りを続けている:

groovy:000> def array1 = [-1,5,3] as byte[]
===> [B@18e501c
groovy:000> def array2 = [-5,2,9] as byte[]
===> [B@5e860ba9
groovy:000> array1.equals array2
ERROR groovy.lang.MissingPropertyException:
No such property: array1 for class: groovysh_evaluate
at groovysh_evaluate.run (groovysh_evaluate:2)
...

回答:

回答№1は2

ここにいくつかの問題があります。

最初に、groovyシェルを使っていると思われます。 "groovysh" groovyshを使うと、変数を宣言するときに "def"を省略する必要があります。これはシェルのクルークです。

実行後にこのエラーが発生しています def array1 = [-1,5,3] as byte[]、array1は未定義です。

第2に、equals()メソッドは、このような状況で期待通りに動作しません。代わりに "=="演算子を使用する必要があります。

ここには私が得たものがあります:

groovy:000> array1 = [-1,5,3] as byte[]
===> [B@1d429498
groovy:000> array2 = [-5,2,9] as byte[]
===> [B@ac1b161
groovy:000> array3 = [-1,5,3] as byte[]
===> [B@5ca3ce3f
groovy:000> array1.equals array2
===> false
groovy:000> array1.equals array3
===> false
groovy:000> array1 == array2
===> false
groovy:000> array1 == array3
===> true