我好像遇到了什么问题。我正在为我的世界 bukkit 服务器创建一个“经济”系统。
我想先按“最富有”来订购餐 table ,但收到的订单不同。当我通过 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;
}
最佳答案
您正在使用未排序的 HashMap。尝试使用 List或任何其他有序数据结构 - 它会解决您的问题。
关于Java mysql十进制排序错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13898931/