当前位置: 首页 > 知识库问答 >
问题:

java中有没有一种方法可以编写一个方法来获取两个长度必须相同的数组?

那利
2023-03-14

我需要写一个私人的方法在java接收2数组。有没有办法使他们必须是相同的长度?

比如:

公共静态无效方法(int[]arr1,int[]arr2[arr1.length])

共有2个答案

史承福
2023-03-14

如果您可以使用ApacheCommonsLang3库,那么它提供了一种通过ArrayUtils的方法。isSameLength()

import org.apache.commons.lang3.ArrayUtils;

// ...

private static void method(int[] arr1, int[] arr2) {
    if (!ArrayUtils.isSameLength(arr1, arr2)) {
        throw new IllegalArgumentException("Arrays must be same length");
    }
    // ...
}

与该类的许多其他方法一样,这确实有一个怪癖,即将null参数视为0长度数组,而不是引发NullPointerExc0019。可能是可取的,也可能不是可取的,这取决于你在做什么。

太叔京
2023-03-14

不在方法的签名中,也不在编译时。但是我们可以验证方法主体中的长度,例如,如果它们不匹配,则抛出IllegalArgumentExc0019

public static void method(int[] arr1 , int[] arr2) {
    if (arr1.length != arr2.length) { 
        throw new IllegalArgumentException("arrays \"arr1\" and \"arr2\" must have same length."); 
    }
    ...
}
 类似资料:
  • 问题内容: 我正在编写小型且非常干燥的框架,该框架高度依赖元数据。我想知道是否有一种方法来获取方法参数名称,即给定一些方法 得到的字符串和。 我知道我可以注释参数,但是那不是很好。 问题答案: 我们为包含参数名称的String[]的方法创建了一个自定义注释。与必须注释每个单独的参数相比,此方法感觉易于管理。我们计划添加构建时检查,以确保带注释的参数名称的数量与参数的数量匹配,因为这是我们所需要的。

  • 我有一个程序有3个线程。一个线程专用于向共享集合中添加项,其余两个线程用于从集合中移除项并对其进行处理。 我创建了一个用于添加的Runnable。看起来是这样的: 我创建了另一个Runnable,该Runnable可从共享集合中删除项。 主要方法如下: 我在运行程序时没有错误,但我注意到,在某一点上,两个线程都在检索同一个项。 有没有一种方法可以让两个移除器不处理同一件物品?我尝试使用迭代器,但在

  • 问题内容: 是否有一个很好的方法来Map 获取和忽略案件? 问题答案: TreeMap扩展了Map并支持自定义比较器。 字符串提供默认的不区分大小写的比较器。 所以: 比较器不考虑区域设置。在其JavaDoc中阅读有关它的更多信息。

  • 我有以下2种方法: 两种方法的内容相等,我尝试使用以下方法: 但当我尝试将其与字符串或Long iterable一起使用时,它会引发编译错误。有什么解决方案吗?

  • 我正在从事一个基于Laravel5.7的项目,在这个项目中,Elount被用作ORM。 我需要在我的数据库上执行一个原始SQL语句。但是,我的查询在多个地方使用相同的参数。 这里有一个查询示例“这不是我真正的查询,更多的是为了解释问题。我的实际查询非常复杂,多次重用相同的参数” 我期待着下面的工作 但这给了我以下错误 SQLSTATE[HY093]:参数编号无效 如何在同一查询中使用Eloquen

  • 我在Java写了一个游戏。我做了一个叫做Camera的类,女巫有两个静态的int表示相机的位置。摄像机的位置要求每一帧在许多不同的地方。这个位置有时也会在几个不同的地方被修改。我的问题是,我是否能够以一种使依赖的类独立和更可重用的方式分离camera类。我看过一些东西,包括监听器,但我不确定这些东西是否是用于连续数据传输的。我真的很感激你给我一点建议。 编辑: 同样值得一提的是,我使用的是组件系统