Fala Galera , sou iniciante em java , e como da para perceber possuo dúvidas em relação a ordenação de datas , já pesquisei bastante coisa sobre o assunto , porém muita coisa acabou me confundindo...
Minha dúvida é a seguinte : eu possuo uma classe chamada Lancamento que possui um variavel do tipo date, porém gostaria de saber como instanciar esse atributo na minha classe TestConta ( eu posso instanciar um atributo do tipo date ? )
obs : se eu colocar essa variavel do tipo String ela funciona numa boa , porém quando vou comparar eu consigo apenas comparar os dias e não consigo comparar a data como uma toda (comparar dias,meses,anos)
Eu li sobre transformar data para String , porém não conseguir implementar da forma que eu quero , se alguém me ajudar aonde está o erro , Agradeço desde já e desculpa se a forma que eu escrevi está meio confuso
Segue minhas classes :
import java.util.Date;
public class Lancamento {
Date data;
Double valor;
public Lancamento() {
// TODO Auto-generated constructor stub
}
public Lancamento(Date data, Double valor) {
super();
this.data = data;
this.valor = valor;
}
public Date getData() {
return data;
}
public void setData(Date data) {
this.data = data;
}
public Double getValor() {
return valor;
}
public void setValor(Double valor) {
this.valor = valor;
}
@Override
public String toString() {
return "Lancamentos [data=" + data + ", valor=" + valor + "]";
}
}
Class : LancamentoComparator
import java.util.Comparator;
public class LancamentoComparator implements Comparator<Lancamento> {
public int compare(Lancamento lancamento, Lancamento outroLancamento) {
return lancamento.getData().compareTo(outroLancamento.getData());
}
}
Class : TestLancamento
import java.util.ArrayList;
import java.util.Collections;
import java.util.Date;
import java.util.List;
import org.junit.After;
import org.junit.Before;
import org.junit.Test;
/**
* The test class TestConta.
*
* @author (your name)
* @version (a version number or a date)
*/
public class TestConta
{
@Test
public void testOrdenarLancamento()
{
Lancamento lancamento1 = new Lancamento(); // nao consigo instanciar a data , se for do tipo String funciona numa boa , porém ao ordenar , ela ordena somente os dias e nao a data como uma toda
Lancamento lancamento2 = new Lancamento();
Lancamento lancamento3 = new Lancamento();
List<Lancamento> lista = new ArrayList<Lancamento>();
lista.add(lancamento1);
lista.add(lancamento2);
lista.add(lancamento3);
javax.swing.JOptionPane.showMessageDialog(null, lista);
LancamentoComparator comparator = new LancamentoComparator();
Collections.sort(lista, comparator);
javax.swing.JOptionPane.showMessageDialog(null, lista);
}
}