protected long analyzeMapTTL(final Map<String, Object> key) {
if (!key.containsKey("created_at") || !key.containsKey("expire")) {
throw new IllegalArgumentException("No create information");
}
final long time = RethinkDatabase.accurateTimeMilliseconds();
final long expiresAt = key.get("created_at") + key.get("expire") * 1000L; <- the problem
final long max = Math.max(-1L, (expiresAt - time) / 1000L);
if (max == -1L) {
this.delete();
}
return max;
}
Error: Operator '*‘无法应用于’java.lang.Object‘,’long‘,该如何解决呢?
发布于 2018-08-22 09:21:41
final Map<String, Object> key
key.get("expire") * 1000L
((Long)key.get("expire")) * 1000L
protected long analyzeMapTTL(Map<String, Long> key)
发布于 2018-08-22 09:56:30
不能有多个对象,需要先转换
int expire = Integer.valueOf(key.get("expire"))
// or
int expire = (int) key.get("expire")
long expire = Long.valueOf(key.get("expire"))
// or
long expire = (long) key.get("expire")</b>.
https://stackoverflow.com/questions/-100002336
复制相似问题