Я сделал функцию, которая r демонстрирует функциональность === Javascript в Java
static boolean compareData(Object v1, Object v2)
{
if(v1 != null && v2 != null)
return (v1.getClass() == v2.getClass() && (v1.toString().equals(v2.toString())));
else
{
return (v1 == null ? v2 == null : v1.equals(v2));
}
}
Я смог передать значения любого типа данных (кромеarray) для этой функции, а также получить true только в том случае, если тип данных и значения соответствуют , в противном случае возвращается false.Производные типы данных, такие как List и HashMap, также работают .
Вызов этой функции выглядит следующим образом:
float s1 = 0.f;
float s2 = 0.1f;
System.out.println(compareData(s1, s2)); //Returns false
float s1 = 0.0f;
float s2 = 0.0f;
System.out.println(compareData(s1, s2)); //Returns true
float s1 = 0.1f;
String s2 = "0.1f";
System.out.println(compareData(s1, s2)); //Returns false
String s1 = "sdf";
String s2 = null;
System.out.println(compareData(s1, s2)); //Returns false
String s1 = null;
String s2 = null;
System.out.println(compareData(s1, s2)); //Returns true
и т. Д. ...
Обновление: I удалось также сравнить массивы , следующий кодфрагмент, но я не тестировал этот код интенсивно, но работал для каждого тестового примера, который я выполнил.
if(s1 != null && s2 != null)
if(s1.getClass().isArray() && s2.getClass().isArray())
compareDatab = s1.getClass().equals(s2.getClass()) && (Arrays.toString(s1).equals(Arrays.toString(s2)));
else
compareDatab = compareData(s1, s2);
else
compareDatab = compareData(s1, s2);
Использование приведенного выше фрагмента (Следующие инициализации должны быть выполнены до приведенного выше фрагмента кода, smh: P):
//s1 and s2 can be anything including Arrays and non-Array...
int[] s1 = {1,2,3};
int[] s2 = {1,2,3};
//compareDatab gives true
int[] s1 = {1,2,4};
int[] s2 = {1,2,3};
//compareDatab gives false
float[] s1 = {1,2,3};
int[] s2 = {1,2,3};
//compareDatab gives false
Где compareData () - это та же функция, которая указана ранее в этом ответе.
Надеюсь, это окажется полезным для вас.:)