В Java все находится в форме класса.
Если вы хотите использовать любой объект, тогда у вас есть две фазы:
Пример:
Object a;
a=new Object();
То же самое для концепции массива
Item i[]=new Item[5];
i[0]=new Item();
Если вы не дают секцию инициализации, тогда возникает NullpointerException
.
Эта библиотека, кажется, добивается цели: google-diff-match-patch. Это может создать строку патча из различий и позволить повторно применять патч.
редактирование : Другое решение могло бы быть к https://code.google.com/p/java-diff-utils /
Apache палата общин имеет Строковую разность
org.apache.commons.lang. StringUtils
StringUtils.difference("foobar", "foo");
Как Torsten Says можно использовать
org.apache.commons.lang. StringUtils;
System.err.println(StringUtils.getLevenshteinDistance("foobar", "bar"));
Если необходимо иметь дело с различиями между большими объемами данных и сжимать различия эффективно, Вы могли попробовать реализацию Java xdelta, который в свою очередь реализует RFC 3284 (VCDIFF) для двоичного файла diffs (должен работать со строками также).
Используйте расстояние Левенштейна и извлеките журналы редактирования из матрицы, которую создает алгоритм. Ссылки на статью Википедии к нескольким реализациям, я уверен, что существует реализация Java среди в.
Levenshtein является особым случаем Самая Длинная Общая Подпоследовательность алгоритм, Вы могли бы также хотеть взглянуть на это.