Esta é uma classe genérica que serve para difinir intervalos e operações com intervalos. O mais comum será usar com datas e numeros, mas a classe aceita qualquer objecto que implementa Comparable ou exista um Comparator para o comparar.
Podemos saber se o intervalo contém um outro objecto
O resultado será sim , se o objecto fica entre o inicio e o fim do intervalo, ou é igual a algum deles.
Interval v = new Interval (new Integer(2), new Integer(5));
Interval w= new Interval (new Integer(9), new Integer(13));
Interval k = new Interval (new Integer(4), new Integer(11));
v.contains(new Integer(3)); // true
v.contains(new Integer(9)); // false
Podemos intersectar intervalos ou apenas saber se intersectam
Interval t = w.intersect(k); // resulta em [9,11]
Interval z = v.intersect(w); // resulta em [] intervalo vazio
boolean intersects = w.instersects(k);
podemos tabém fundir os intervalos
Interval m = v.merge(k); // resulta em [2,11]
podemos consultar se o intervalo é vazio
m.isEmpty();// false
z.isEmpty();// true
Esta é a utilização básica. Contudo Intervalos pode simplesmente para criar campos em beans como
public class Tarefa {
Intervalo duracaoPrevista;
}