不安全或未经检查的操作警告

书呆子邦兹

在一个应用程序中,我使用 SharedPrefernces 来保存/加载(序列化/反序列化)一些对象。

这是反序列化代码:

private void loadData() {

    String str = sharedPreferences.getString(PREF_TAG, null);

    byte[] bytes = Base64.decode(str, Base64.DEFAULT);

    try {
        ByteArrayInputStream bais = new ByteArrayInputStream(bytes);
        ObjectInputStream input = new ObjectInputStream(bais);
        arrayOfObjects = (ArrayList<MyObject>) input.readObject();
    } catch (Exception e) {
        Log.i("BUG", "error decoding serialized objects: " + e.toString());
    }

    if (arrayOfObjects == null) {
        Log.i("BUG", "serious problem!");
    }

}

但是每当我编译这个项目时,行:

arrayOfObjects = (ArrayList<MyObject>) input.readObject();

导致包含此方法的类“使用未经检查或不安全的操作”的警告。

如何摆脱此警告或更改我的代码以使其更安全?

奥尔德斯库尔乔

在这种情况下,显示 warinig 是因为您正在直接解析结果

input.readObject();

这将返回一个 Object 类型的 Object(非常通用)到一个 ArrayList 中,编译器试图告诉你,它可以是任何其他类型的对象。

在我看来,如果您的代码中的指令总是返回 ArrayList,这不是一个重要的警告,所以我会添加到您的方法定义中。

@SuppressWarnings("unchecked")

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

编译警告:使用未经检查或不安全的操作

来自分类Dev

JavaFX编译警告-“使用未经检查或不安全的操作”-原始数据类型?

来自分类Dev

ObjectInputStream上未经检查或不安全的操作

来自分类Dev

Java程序使用未经检查或不安全的操作

来自分类Dev

未经检查或不安全的操作。数组到JList

来自分类Dev

Java程序使用未经检查或不安全的操作

来自分类Dev

ObjectInputStream上未经检查或不安全的操作

来自分类Dev

Android:使用未经检查或不安全的操作

来自分类Dev

如何使用不会导致“使用未经检查或不安全的操作”警告的泛型实现Java类

来自分类Dev

未经检查或不安全的操作。用-xlint重新编译:未检查详细信息

来自分类Dev

获取java.lang.Class的实例时未经检查或不安全的操作

来自分类Dev

注意:Anpr.java使用未经检查或不安全的操作。注意:在JComboBox中使用-Xlint:unchecked进行详细信息警告未选中

来自分类Dev

使用未经检查或不安全的操作,使用 -Xlint:unchecked 重新编译以获取详细信息

来自分类Dev

请帮助我 CloudFirestorePlugin.java 使用或覆盖已弃用的 API。(未经检查或不安全的操作。)

来自分类Dev

LinkedList.java使用未经检查或不安全的操作。注意:使用-Xlint重新编译:未经检查以获取详细信息

来自分类Dev

Flutter CloudFirestorePlugin.java使用未经检查或不安全的操作。注意:使用-Xlint重新编译:未经检查以获取详细信息

来自分类Dev

LinkedList.java使用未经检查或不安全的操作。注意:使用-Xlint重新编译:未经检查以获取详细信息

来自分类Dev

使用泛型并尝试摆脱不安全的操作警告

来自分类Dev

ArrayLists 的未检查或不安全操作错误

来自分类Dev

由于CloudFirestorePlugin.java使用未经检查或不安全的操作,因此无法构建flutter插件cloud_firestore [flutter build apk]

来自分类Dev

数组列表中不安全或未经检查的表达式

来自分类Dev

未经检查的操作警告

来自分类Dev

安全或不安全的URL PHP检查

来自分类Dev

canvas toDataURL()-操作不安全

来自分类Dev

SecurityError:操作不安全。使用Htmlcanvas

来自分类Dev

仅当将值与TRUE比较时,操作中xxx和bool的不安全混合警告

来自分类Dev

如何使IntelliJ警告Optional.get()的不安全使用

来自分类Dev

如何解决Swapon中的不安全警告?

来自分类Dev

如何禁用“警告:不安全粘贴”弹出窗口?

Related 相关文章

  1. 1

    编译警告:使用未经检查或不安全的操作

  2. 2

    JavaFX编译警告-“使用未经检查或不安全的操作”-原始数据类型?

  3. 3

    ObjectInputStream上未经检查或不安全的操作

  4. 4

    Java程序使用未经检查或不安全的操作

  5. 5

    未经检查或不安全的操作。数组到JList

  6. 6

    Java程序使用未经检查或不安全的操作

  7. 7

    ObjectInputStream上未经检查或不安全的操作

  8. 8

    Android:使用未经检查或不安全的操作

  9. 9

    如何使用不会导致“使用未经检查或不安全的操作”警告的泛型实现Java类

  10. 10

    未经检查或不安全的操作。用-xlint重新编译:未检查详细信息

  11. 11

    获取java.lang.Class的实例时未经检查或不安全的操作

  12. 12

    注意:Anpr.java使用未经检查或不安全的操作。注意:在JComboBox中使用-Xlint:unchecked进行详细信息警告未选中

  13. 13

    使用未经检查或不安全的操作,使用 -Xlint:unchecked 重新编译以获取详细信息

  14. 14

    请帮助我 CloudFirestorePlugin.java 使用或覆盖已弃用的 API。(未经检查或不安全的操作。)

  15. 15

    LinkedList.java使用未经检查或不安全的操作。注意:使用-Xlint重新编译:未经检查以获取详细信息

  16. 16

    Flutter CloudFirestorePlugin.java使用未经检查或不安全的操作。注意:使用-Xlint重新编译:未经检查以获取详细信息

  17. 17

    LinkedList.java使用未经检查或不安全的操作。注意:使用-Xlint重新编译:未经检查以获取详细信息

  18. 18

    使用泛型并尝试摆脱不安全的操作警告

  19. 19

    ArrayLists 的未检查或不安全操作错误

  20. 20

    由于CloudFirestorePlugin.java使用未经检查或不安全的操作,因此无法构建flutter插件cloud_firestore [flutter build apk]

  21. 21

    数组列表中不安全或未经检查的表达式

  22. 22

    未经检查的操作警告

  23. 23

    安全或不安全的URL PHP检查

  24. 24

    canvas toDataURL()-操作不安全

  25. 25

    SecurityError:操作不安全。使用Htmlcanvas

  26. 26

    仅当将值与TRUE比较时,操作中xxx和bool的不安全混合警告

  27. 27

    如何使IntelliJ警告Optional.get()的不安全使用

  28. 28

    如何解决Swapon中的不安全警告?

  29. 29

    如何禁用“警告:不安全粘贴”弹出窗口?

热门标签

归档