Somar horas e minutos

Pessoal,

estou precisando somar horas e minutos, tentei utilizar o calendar mas o mesmo está acumulando a hora, ele volta a hora para zero e adiciona um dia a data.
Não preciso da data, apenas das horas.

Preciso somar 10:30 + 20:15 e obter 30:45

Alguem sabe me dizer se o calendar faz isso e como fazer?

Se não faz há alguma outra coisa em java que faça?

Agradeço a todos

O java.util.Calendar não faz isso. No seu caso, converta tudo para minutos, e faça uma conta simples.

10:30 + 20:15

10:30 = 10 * 60 + 30 = 630
20:15 = 20 * 60 + 15 = 1215
630 + 1215 = 1845
1845 / 60 = 30
1845 % 60 = 45

import java.text.DecimalFormat;

public class Horas {
private int minuto = 0;

public Horas() {
	this.minuto = 0;
}

public Horas(String horas) {
	String[] hrs = horas.split(":");
	this.minuto = (Integer.parseInt(hrs[0]) * 60)
			+ (Integer.parseInt(hrs[1]));
}

public void setHoras(String horas) {
	String[] hrs = horas.split(":");
	this.minuto = (Integer.parseInt(hrs[0]) * 60)
			+ (Integer.parseInt(hrs[1]));
}

public void Zera() {
	this.minuto = 0;
}

public void Adiciona(String horas) {
	String[] hrs = horas.split(":");
	minuto += (Integer.parseInt(hrs[0]) * 60) + (Integer.parseInt(hrs[1]));
}

public void Subtrai(String horas) {
	String[] hrs = horas.split(":");
	minuto -= (Integer.parseInt(hrs[0]) * 60) + (Integer.parseInt(hrs[1]));
}

public String getHoras() {
	String horas;
	DecimalFormat fmt = new DecimalFormat("00");
	horas = Integer.toString(this.minuto / 60);
	horas += ":";
	horas += fmt.format(this.minuto % 60);
	return horas;
}

}