ArrayList 的不安全或未经检查的操作

2023-11-24

我被指派编写一个程序,获取 100 个 0-25 之间的随机整数并将它们存储在一个数组中。 然后我必须调用两种方法来分割偶数和赔率(非常典型)。 所以我尝试了 ArrayList 的东西(我刚刚学会它),它看起来很好(我正在关注教程和在线的东西),直到我遇到这个:Unit8.java 使用未经检查或不安全的操作

我的代码是这样的:

    import java.util.*;
    import java.awt.*;

    public class Unit8
    {
public static void main (String [] args)
{
    //create an array for original 100 integers
    //create a 2D array for evens and odds
    //split them up using 2 methods

    int[] originalArray = new int[100];
    ArrayList even = new ArrayList(1);
    ArrayList odd = new ArrayList(1);

    for (int x = 0; x < originalArray.length; x++)
    {
        originalArray[x] = (int)(Math.random() * 25);
    }

    evensDivider(originalArray, even);
    oddsDivider(originalArray, odd);
}

public static void evensDivider (int[] e, ArrayList even)
{


    for (int y = 0; y < e.length; y++)
    {
        if (e[y]%2 == 0)
            even.add(e[y]);
    }

    System.out.println("The evens are: " + even);
}

public static void oddsDivider (int[] o, ArrayList odd)
{


    for (int z = 0; z < o.length; z++)
    {
        if (o[z]%2 == 1)
            odd.add(o[z]);
    }
}

}

错误具体发生在:even.add(e[y]);odd.add(o[z]);

请帮助我解决这个问题,我已尽力使其清晰易懂。


这是因为您正在使用ArrayList with raw type。并且您正在向其添加特定类型。

原始类型 ArrayList 需要 Object 类型的元素。如果您添加任何其他类型,那么编译器将无法确切知道您正在存储什么类型。所以,它给你unchecked or unsafe operations警告您可能做错了什么。

你应该更好地创建一个Generic数组列表:-

List<Integer> evenNumbers = new ArrayList<Integer>();

另外,在你的method签名: -

public static void evensDivider (int[] e, List<Integer> evenNumbers)

PS: - 您应该始终有一个参考interface type如果你有。我的意思是使用List代替ArrayList

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

ArrayList 的不安全或未经检查的操作 的相关文章

随机推荐

  • HTML5 / JS - 在div中显示多个文件输入

    我正在使用 HTML5 出色的 多个 文件选择功能
  • 冬眠。 ClassicQueryTranslatorFactory 与 ASTQueryTranslatorFactory

    这些查询翻译器之间有什么区别 我的意思是对我作为 Hibernate 用户而言的差异 互联网上的一些博客说基于 ANTLR 的翻译器速度更快 但我认为 如果其中一个明显更好 那么 Hibernate 开发人员就会删除另一个 那么 有什么区别
  • Firebase 实例 ID 和令牌的范围

    我读过很多关于Firebase Instance Id and registration token here here and here 我对他们有些困惑范围和关系之间Instance Id and Token 我想验证一下我的理解是正确
  • 如何在我在 github.com 上分叉的项目之上重新播放本地 Git 存储库的提交?

    是的 我知道我应该从一开始就分叉该项目 但这就是我现在所处的情况 我在本地计算机上有一个本地 Git 存储库 其中包含我的博客 并且有几个月的提交历史记录 最初 我只是从存储库下载了文件http github com mojombo moj
  • 在 CSS 中并排居中放置多个图像

    我是 CSS 和 HTML 的初学者 所以我确信这很混乱 但我想做的是在 CSS 中将 3 个图像并排居中水平居中 我尝试过不同的解决方案 使它们正确对齐 但它们仍然停留在页面的左侧 或者会堆叠在一起 有时会重叠 div img src I
  • 可以防止 403 错误记录到 Web 控制台吗?

    我有一些 js html css 在某些情况下会在加载图像时遇到无害的 403 错误 有什么方法可以捕获这些错误并防止它们将错误记录到控制台吗 Thanks 没有 如果服务器响应 200 以外的任何内容 您将在控制台中看到它 您需要在服务器
  • hdfs(namenode)中使用的名称空间和元数据的含义是什么

    作为 hadoop 的初学者 我对命名空间和元数据这两个词感到困惑 这两者之间有什么关系吗 根据 Hadoop 权威指南 NameNode 管理文件系统名称空间 它维护文件系统树以及树中所有文件和目录的元数据 本质上 命名空间意味着一个容器
  • 对于大n,如何计算2^n?

    我正在尝试编写一个需要数字的程序 n 作为输入 并输出 2 次方的结果n 问题是 n可以非常大 最多 100 000 本质上 我正在尝试计算pow 2 n 对于非常大的数字 我认为做到这一点的方法是将数字存储在数组中 因为没有内置的数字类型
  • 如何使用 Google Drive API 上传 FILE_URI:插入文件

    在 Android 上 我尝试使用 Google Drive API 插入文件上传 Cordova Phonegap getPicture 的输出 有没有办法使用 FILE URI 而不是 DATA URL base64 来做到这一点 我首
  • 导入 .TLB 文件给出“无法打开源文件 x.tlh”

    我正在将 VS2010 C 项目更新到 VS2019 该项目正在导入多个 tlb 文件 对于每个文件 VS2019 都会给出一个错误 指出 无法打开 tlh 文件的源文件 其中一个来自我也升级过的 DLL 用 C 编写 在 VS2019 中
  • 如何在 ASP.NET 网站项目中使用最新的 VB.NET 语言级别?

    我的任务是对 2009 年开发的 Web 应用程序进行现代化改造 它是用 VB NET 编写的 并使用 ASP NET WebForms 我想使用 VB NET 中最新的语言结构 我得到有用的指示 说 Visual Basic 10 0 不
  • 未捕获的类型错误:对象 [object DOMWindow] 的属性“$”不是函数

    我得到一个 未捕获的类型错误 对象 object DOMWindow 的属性 不是函数我的脚本在 Chrome 中出错
  • “this”关键字如何工作以及何时使用?

    我正在寻找关于 this 关键字的作用以及如何正确使用它的清晰解释 它的行为似乎很奇怪 我不完全明白为什么 如何this工作以及什么时候应该使用它 this是 JavaScript 中的关键字 是执行上下文的属性 它的主要用途是在函数和构造
  • Zend 动作助手

    我正在学习如何使用 Zend 框架 并意识到操作助手是有用的 我已经在我的机器上设置了 Zend 的默认安装 但我不知道帮助程序文件需要放在哪里 我需要在引导程序文件中放入什么以及如何使用它 谁能给我指出正确的方向吗 ZF 用户指南对我来说
  • C# 字符串到十六进制、十六进制到字节的转换

    我有一个方法 它采用十六进制值并将其分配为纯文本 但字节类型是这样的 byte plainText 0xd7 我想从文本框中获取这个值 例如用户将在文本框中键入 d7 我将像这样分配它 byte plaintText 0xd7 我无法做到这
  • 我应该使用我的应用程序重新分发 msvcrt.dll 吗?

    如果应用程序的某些库动态依赖于 msvcrt dll 我是否应该将 msvcrt dll 与我的应用程序一起重新分发并使用私有 dll IE 系统的msvcrt dll dll hell 是否可能存在不兼容问题 应用程序针对 Windows
  • 如何实现顶层异常处理?

    最近 我必须为同事开发的现有服务开发一个附加模块 他在主工作函数中放置了一个 try catch 块 用于捕获所有冒泡到此级别的未处理异常 并将它们与堆栈跟踪信息等记录在一起 try do main work catch Exception
  • PyCUDA:设备代码中的 Pow 尝试使用 std::pow,失败

    问题或多或少说明了一切 calling a host function std pow
  • ValueError:找到具有 0 个样本的数组(形状= (0, 1),而 MinMaxScaler 要求最小值为 1

    我是机器学习的初学者 我正在帮助我的数学专业朋友基于 TensorFlow 创建一个股票预测器 csv他提供的文件 我有一些问题 第一个是他的 csv文件 该文件只有日期和结束值 它们没有分开 因此我必须手动分隔日期和值 我已经成功做到了这
  • ArrayList 的不安全或未经检查的操作

    我被指派编写一个程序 获取 100 个 0 25 之间的随机整数并将它们存储在一个数组中 然后我必须调用两种方法来分割偶数和赔率 非常典型 所以我尝试了 ArrayList 的东西 我刚刚学会它 它看起来很好 我正在关注教程和在线的东西 直