Привет У меня есть класс страны и содержит набор countryLanguage. Я хочу сортировать язык для каждой страны. Я создаю страницу просмотра. стране и его соответствующем языке. county в порядке, но его язык не отсортирован. Я смущен, в каком классе я использую compartor и как.сортировать объект, используя сопоставимые для архариста объектов
public class Country implements Serializable{
private Set<CountryLanguage> countryLanguage = new HashSet<CountryLanguage>(0);
//...
}
public class CountryLanguage {
private CountryLanguageID countryLangPK = new CountryLanguageID();
//...
}
класс Композит ID
public class CountryLanguageID implements Serializable,Comparable<CountryLanguageID>{
private Country country;
private Language language;
@ManyToOne(fetch=FetchType.LAZY)
public Country getCountry() {
return country;
}
public void setCountry(Country country) {
this.country = country;
}
@ManyToOne(fetch=FetchType.LAZY)
public Language getLanguage() {
return language;
}
public void setLanguage(Language language) {
this.language = language;
}
public boolean equals(Object o) {
if (this == o) return true;
if (o == null || getClass() != o.getClass()) return false;
CountryLanguageID that = (CountryLanguageID) o;
if (country != null ? !country.equals(that.country) : that.country != null){
return false;
}
if (language != null ? !language.equals(that.language) : that.language != null){
return false;
}
return true;
}
public int hashCode() {
int result;
result = (country != null ? country.hashCode() : 0);
result = 31 * result + (language != null ? language.hashCode() : 0);
return result;
}
@Override
public int compareTo(CountryLanguageID o) {
//return this.language.compareTo(o.language);
return this.getLanguage().getLanguageName().compareTo(o.getLanguage().getLanguageName());
}
}
не работает. Я пробовал обе логики. В первой логике я написал сравнение login в countryLanguage как this.getCountryLangPK(). GetLanguage(). GetLanguageName(). CompareTo (o2.getCountryLangPK(). GetLanguage(). GetLanguageName()); больше предложений присваивается – Surya
Вы можете изменить свой вопрос, чтобы включить новый код. –
отредактированный код .... Я получаю проблему из-за ключа composit – Surya