所以我现在一直在努力解决问题,我想在这里也可以寻求帮助.
我将Ticket对象添加到TreeSet,Ticket实现Comparable并重写了equals(),hashCode()和CompareTo()方法.我需要使用contains()检查对象是否已经在TreeSet中.现在在将2个元素添加到集合之后,它们全部检查得很好,但在添加第三个之后它会搞砸了.
在向TreeSet添加第三个元素后运行这一小段代码,Ticket temp2是我正在检查的对象(verkoopLijst).
Ticket temp2 = new Ticket(boeking, TicketType.STANDAARD, 1,1);
System.out.println(verkoop.getVerkoopLijst().first().hashCode());
System.out.println(temp2.hashCode());
System.out.println(verkoop.getVerkoopLijst().first().equals(temp2));
System.out.println(verkoop.getVerkoopLijst().first().compareTo(temp2));
System.out.println(verkoop.getVerkoopLijst().contains(temp2));
Run Code Online (Sandbox Code Playgroud)
返回:
22106622
22106622
true
0
false
Run Code Online (Sandbox Code Playgroud)
现在我的问题是这甚至可能如何?
编辑:
public class Ticket implements Comparable{
private int rijNr, stoelNr;
private TicketType ticketType;
private Boeking boeking;
public Ticket(Boeking boeking, TicketType ticketType, int rijNr, int stoelNr){
//setters
}
@Override
public int hashCode(){
return boeking.getBoekingDatum().hashCode();
}
@Override
@SuppressWarnings("EqualsWhichDoesntCheckParameterClass")
public boolean equals(Object o){
Ticket t = (Ticket) o;
if(this.boeking.equals(t.getBoeking())
&&
this.rijNr == t.getRijNr() && this.stoelNr == t.getStoelNr()
&&
this.ticketType.equals(t.getTicketType()))
{ …Run Code Online (Sandbox Code Playgroud) 我需要根据Delphi中的查询为Tableview添加一个简单的样式.我需要它看起来像这样:

我知道有一种按字段分组的方法,但我似乎无法弄清楚如何将2个主标题字段添加到表的标题中.