这个问题在这里已经有答案了:
在java中将“arraylist转换为“string[]”(16个答案)
上个月关门了。
创建一个函数,该函数接受一个字符串数组并返回一个仅包含其中包含数字的字符串的数组。如果没有包含数字的字符串,则返回空数组。
示例numinstr([“1a”,“a”,“2b”,“b”])➞ ["1a“,”2b“]
努明斯特([“”,“10”])➞ ["10“]
努明斯特([“”,“ab10c”,“a10bc”,“bcd”])➞ ["ab10c“,”a10bc“]
numinstr([“这是一个测试”,“测试1”])➞ ["测试1“]
这是我的密码
import java.util.ArrayList;
public class Challenge {
public static String[] numInStr(String[] arr) {
boolean addWord = false;
ArrayList<String> output = new ArrayList<String>();
for (String word: arr){
for (int i =0; i<word.length(); i++){
if (Character.isDigit(word.charAt(i))){
addWord = true;
}
}
if (addWord) {
output.add(word);
addWord=false;
}
return output;
}
}
}
怎么了?
为什么我要为arraylist设置一个类型?每当我这么做的时候,它就说它不安全。如何创建包含多个数据类型的arraylist?
4条答案
按热度按时间noj0wjuj1#
导入java.util.*;
公共类arraylisttoarray{public static void main(string[]args){
}
vltsax252#
不能返回不同的数据类型,ArrayList和arrays是不同的类型。使用
返回output.toarray(新字符串[0]);
首先将列表转换为数组
sbtkgmzw3#
String[]
以及ArrayList<String>
是不同的类型。必须更改方法的声明或将arraylist转换为array才能返回:为什么我要为arraylist设置一个类型?
arraylist应该声明其元素的类型。对于包含任何元素的列表,请使用:
0qx6xfy64#
返回值必须与返回类型匹配。因为您已将返回类型声明为
String[]
,必须返回String[]
你可以通过返回output.toArray(new String[0])
.除此之外,您还可以使用java regex api以更简单、更干净的方式解决问题:
输出: