首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何解决运算符‘*’不能应用于‘java.lang.Object’,‘long’的问题?

如何解决运算符‘*’不能应用于‘java.lang.Object’,‘long’的问题?
EN

Stack Overflow用户
提问于 2018-08-22 00:54:51
回答 2查看 0关注 0票数 0
代码语言:txt
复制
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‘,该如何解决呢?

EN

回答 2

Stack Overflow用户

发布于 2018-08-22 09:21:41

代码语言:javascript
运行
复制
final Map<String, Object> key
代码语言:javascript
运行
复制
key.get("expire") * 1000L
代码语言:javascript
运行
复制
((Long)key.get("expire")) * 1000L
代码语言:javascript
运行
复制
protected long analyzeMapTTL(Map<String, Long> key) 
票数 0
EN

Stack Overflow用户

发布于 2018-08-22 09:56:30

不能有多个对象,需要先转换

代码语言:txt
复制
int expire = Integer.valueOf(key.get("expire"))
// or 
int expire = (int) key.get("expire")
代码语言:txt
复制
long expire = Long.valueOf(key.get("expire"))
// or
long expire = (long) key.get("expire")</b>.
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/-100002336

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档