如果您可以使用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
。可能是可取的,也可能不是可取的,这取决于你在做什么。
不在方法的签名中,也不在编译时。但是我们可以验证方法主体中的长度,例如,如果它们不匹配,则抛出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类。我看过一些东西,包括监听器,但我不确定这些东西是否是用于连续数据传输的。我真的很感激你给我一点建议。 编辑: 同样值得一提的是,我使用的是组件系统