请问如何设计一个方法来删除String类型数组中的默认值,感谢
下面为示例代码:
import java.util.ArrayList;
public class RemoveDefaultValue {
public static String[] removeDefaultValue(String[] inputArray, String defaultValue) {
ArrayList<String> resultList = new ArrayList<>();
for (String str : inputArray) {
if (!str.equals(defaultValue)) {
resultList.add(str);
}
}
return resultList.toArray(new String[resultList.size()]);
}
}
这样?不就行了?
example = new String[????];
Arrays.fill( example, null )
您可以使用Java 8 Stream API来实现这个功能。示例代码如下:
String[] array = {"default", "value1", "default", "value2"};
array = Arrays.stream(array).filter(s -> !s.equals("default")).toArray(String[]::new);
上述代码将使用filter()方法过滤出数组中不等于"default"的元素,并使用toArray()方法将剩余元素转换成新的字符串数组。
package csdn20230128;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.List;
/**
* @Description
* @Author wangFei
* @Date 2023/1/28 14:30
* @Version 1.0
**/
public class StringArray {
public static void main(String[] args) {
String[] arr = new String[10];
arr[0] = "1";
arr[3] = "2";
System.out.println(Arrays.toString(arr));
System.out.println(Arrays.toString(deleteNull(arr)));
}
public static Object[] deleteNull(String[] arr) {
List<String> list = new ArrayList<>(arr.length);
list.addAll(Arrays.asList(arr));
while (list.remove(null));
return list.toArray();
}
}
不知道你这个问题是否已经解决, 如果还没有解决的话: