有時候我們會需要比較兩個陣列中的每個元素的「值」是否相等,例如比較ByteArray中的數字是否相等,最直覺的方式就是使用for迴圈一個一個比較,但是這樣會多很多行數跟判斷式,當比較的陣列一多時就顯得攏長。
如果是用Kotlion做開發,在Kotlion 1.1以後的版本,就有快速比較兩個陣列的「值」是否相等的方法了!
此方法叫做:contentEquals
使用方式:
val aryA = intArrayOf(100, 200, 300) val aryB = intArrayOf(100, 200, 300) val aryC = intArrayOf(100, 201, 300) val aryD = intArrayOf(100, 200) Log.d("aryA與aryB元素比較", (aryA contentEquals aryB).toString()) Log.d("aryA與aryC元素比較", (aryA contentEquals aryC).toString()) Log.d("aryA與aryD元素比較", (aryA contentEquals aryD).toString())
結果:
D/aryA與aryB元素比較: true D/aryA與aryC元素比較: false D/aryA與aryD元素比較: false
這樣就輕鬆達成我們要的目標啦!
小注意:equals()方法比較的是記憶體引用位置,是不能直接比較元素值相等的喔!
-END-
發佈留言