java-Android Studio Kotlin错误与dataSnapshot.getValue

java-Android Studio Kotlin错误与dataSnapshot.getValue,第1张

概述我在最近的项目中将Java文件转换为kotlin文件,问题是我在使用此代码时遇到错误:valmap=dataSnapshot.getValue<Map<*,*>>(Map<*,*>::class.java)我在“Map<*,*>::class”下有一条红线,并且androidstudio说:Onlyclassesareallowedonthelefthandsideofacl

我在最近的项目中将Java文件转换为kotlin文件,问题是我在使用此代码时遇到错误:

 val map = dataSnapshot.getValue<Map<*, *>>(Map<*, *>::class.java)

我在“ Map< *,*> :: class”下有一条红线,并且androID studio说:

Only classes are allowed on the left hand sIDe of a class literal

我应该用这个代码做什么?还有其他写方法吗?

这是一个相对的kotlin代码片段:

val messageText = messageArea!!.text.toString()        if (messageText != "") {            val map = HashMap<String, String>()            map.put("message", messageText)            map.put("user", UserDetails.username)            reference1!!.push().setValue(map)            reference2!!.push().setValue(map)            messageArea!!.setText("")        }    }    reference1!!.addChildEventListener(object : ChildEventListener {        overrIDe fun onChildAdded(dataSnapshot: DataSnapshot, s: String) {            val map = dataSnapshot.getValue<Map<*, *>>(Map<*, *>::class.java)            val message = map.get("message").toString()            val username = map.get("user").toString()

原始的Java代码段:

String messageText = messageArea.getText().toString();            if(!messageText.equals("")){                Map<String, String> map = new HashMap<String, String>();                map.put("message", messageText);                map.put("user", UserDetails.username);                reference1.push().setValue(map);                reference2.push().setValue(map);                messageArea.setText("");            }        }    });    reference1.addChildEventListener(new ChildEventListener() {        @OverrIDe        public voID onChildAdded(DataSnapshot dataSnapshot, String s) {            Map map = dataSnapshot.getValue(Map.class);            String message = map.get("message").toString();            String username = map.get("user").toString();

解决方法:

尝试投射.

val map = dataSnapshot.getValue(Map::class.java) as Map<String, String>

您可能要禁止显示“未经检查的演员表”的警告,但是可以.

总结

以上是内存溢出为你收集整理的java-Android Studio Kotlin错误与dataSnapshot.getValue全部内容,希望文章能够帮你解决java-Android Studio Kotlin错误与dataSnapshot.getValue所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/web/1081028.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-27
下一篇 2022-05-27

发表评论

登录后才能评论

评论列表(0条)

保存