title: How to perform string Diffs in Java?
body: <p>I need to perform Diffs between Java strings. I would like to be able to rebuild a string using the original string and diff versions. Has anyone done this in Java? What library do you use?</p>
  
  <pre><code>String a1; // This can be a long text
  String a2; // ej. above text with spelling corrections
  String a3; // ej. above text with spelling corrections and an additional sentence
  
  Diff diff = new Diff();
  String differences_a1_a2 = Diff.getDifferences(a,changed_a);
  String differences_a2_a3 = Diff.getDifferences(a,changed_a);    
  String[] diffs = new String[]{a,differences_a1_a2,differences_a2_a3};
  String new_a3 = Diff.build(diffs);
  a3.equals(new_a3); // this is true
  </code></pre>