作为我的Utils课程的一部分,我都
public static boolean isStringEmptyOrNull(String... s) {
测试空条件时
assertTrue(Utils.isStringEmptyOrNull(null));
我收到“从类型Utils调用varargs方法isStringEmptyOrNull(String ...)时,应将类型null的参数显式转换为String []。也可以将其转换为String以进行varargs调用”警告。
我宁愿什么也不做。此测试旨在模拟条件,其中传递给该方法的参数为null。
有没有办法在不更改方法签名的情况下删除此警告?
最佳答案
您可能应该同时测试这两种情况:
assertTrue(Utils.isStringEmptyOrNull(new String[] { null }));
assertTrue(Utils.isStringEmptyOrNull((String[]) null));
...虽然我不清楚,但说实话,为什么听起来像只应使用单个字符串的方法却首先采用字符串数组。
(对您来说显而易见的是,在没有强制转换的情况下,您是指那些调用中的哪一个?对我而言,这不是显而易见的……我必须对其进行检查以进行检查。)