private boolean isEqualsJsonArray(JSONArray a, JSONArray b) { if (policy == STRICT) { if (a.length() != b.length()) { return false; } } if (policy == SIMPLE) { if (a.length() > b.length()) { return false; } } boolean[] am = new boolean[a.length()]; boolean[] bm = new boolean[b.length()]; for (int i = 0; i < a.length(); ++i) if (am[i] == false) { for (int j = 0; j < b.length(); ++j) if (bm[j] == false) { try { if (isEquals(a.get(i), b.get(j))) { am[i] = true; bm[j] = true; break; } } catch (JSONException e) { e.printStackTrace(); } } } for (int i = 0; i < am.length; ++i) if (!am[i]) { return false; } if (policy == STRICT) { for (int j = 0; j < bm.length; ++j) if (!bm[j]) { return false; } } return true; }