我似乎碰到了一个凹凸。我正在为minecraft bukkit服务器创建一个“经济”系统。Java mysql十进制排序错误
我试图先订购“富豪”表,但收到的订单是不同的。当我通过phpmyadmin运行SQL它是在正确的顺序
public static HashMap<String, Double> topPlayers(String economyKey) {
sql.build("SELECT b.balance, p.username FROM " + sql.prefix
+ "players p INNER JOIN " + sql.prefix + "balances b ON p.id=b.user_id WHERE economy_key=? ORDER BY b.balance DESC LIMIT 0,5");
String[] params = { economyKey };
ResultSet results = sql.executePreparedQuery(params);
HashMap<String, Double> players = new HashMap<String, Double>();
try {
while (results.next()) {
players.put(results.getString("username"), results.getDouble("balance"));
}
} catch (SQLException e) {
e.printStackTrace();
}
return players;
}
如果您的方法可以轻松切换到['LinkedHashMap'](http://docs.oracle.com/javase/6/docs/api/java/util/LinkedHashMap.html),该维护插入顺序返回接口('Map')而不是实现('HashMap',其顺序是不可预知的)。 –