Ich habe mehrere Beiträge über Komparatoren überprüft, aber ich steckte an einem Punkt.JAVA Komparator für UTF8 Buchstaben
Vergleicher Ich verwende‘:
@Override
public int compare(BaseFolder arg0, BaseFolder arg1) {
try {
Object value1 = arg0.getName();
Object value2 = arg1.getName();
Collator lithuanianCollator = Collator.getInstance(new Locale("lt_LT"));
lithuanianCollator.setStrength(Collator.PRIMARY);
int value = lithuanianCollator.compare(value1.toString(), value2.toString());
return SortOrder.ASCENDING.equals(sortOrder) ? value : -1 * value;
}
catch(Exception e) {
throw new RuntimeException();
}
}
Es tut Art, aber es funktioniert nicht richtig auf litauischen Buchstaben, und ich habe keine Ahnung, warum.
EDIT: scheint Sortierung hängt von String Länge, aus irgendeinem Grund.
Zum Beispiel.
EDIT:
public class BaseFolder {
private String id;
private String name;
private String description;
private String lastModifiedBy;
private String lastModificationDate;
private String createdBy;
private String creationDate;
private String parentId;
public BaseFolder() {
}
public BaseFolder(CmisObject obj) {
this.id = obj.getId();
this.name = obj.getName();
this.description = obj.getDescription();
this.lastModificationDate = DateFormatUtils.format(obj.getLastModificationDate().getTime(), "yyyy-MM-dd");
this.lastModifiedBy = obj.getLastModifiedBy();
this.createdBy = obj.getCreatedBy();
this.creationDate = DateFormatUtils.format(obj.getCreationDate().getTime(), "yyyy-MM-dd");
}
public BaseFolder(String id, String name, String description, String parentId) {
super();
this.id = id;
this.name = name;
this.description = description;
this.parentId = parentId;
}
public Map<String, Object> getProperties() {
Map<String, Object> properties = new HashMap<String, Object>();
properties.put(PropertyIds.PARENT_ID, "cmis:parentId");
properties.put(PropertyIds.OBJECT_TYPE_ID, "cmis:folder");
properties.put(PropertyIds.NAME, getName());
properties.put(PropertyIds.DESCRIPTION, getDescription());
return properties;
}
mit Java 8, Primefaces, JSF
ich seit 'Wert1 erraten und 'va Lue2' sind vom Typ Object toString() gibt die String-Repräsentation der Objekte zurück. Könnten Sie den Code von 'BaseFolder' teilen? – sinclair
Was ist los mit der Sortierung? – reos
Editierte: Basisfolder-Klasse. Und über das Sortieren. zuerst sollte ein kommen, dann ±, oder ich komme vor į – iJava