Если метод equals()
присутствует в классе java.lang.Object
, и ожидается, что он проверяет эквивалентность состояния объектов! Это означает, что содержимое объектов. В то время как ожидается, что оператор ==
проверяет, что фактические экземпляры объекта одинаковы или нет.
Пример
Рассмотрим две различные ссылочные переменные, str1
и str2
:
str1 = new String("abc");
str2 = new String("abc");
Если вы используете equals()
System.out.println((str1.equals(str2))?"TRUE":"FALSE");
, вы получите выход как TRUE
, если вы используете ==
.
System.out.println((str1==str2) ? "TRUE" : "FALSE");
Теперь вы получите вывод FALSE
в качестве вывода, потому что оба str1
и str2
указывают на два разных объекта, хотя оба они имеют одинаковое строковое содержимое. Именно из-за new String()
каждый новый объект создается каждый раз.
У Шпиона XML Altova есть функция, которая генерирует SQL Сценарий DDL из файла XSD. Шпион XML будет стоить Вам некоторых денег все же.
Интересно достаточно разработчик использовал действительно умный прием использования перевода XSLT для создания сценария DDL из файла XSD. Они обрисовали в общих чертах это в двух частях здесь и здесь.
Мне, возможно, придется попробовать это самому для будущего использования...
Править: Просто найденный этим вопросом, который задают ранее здесь...