如何将char[]数组的内容添加到新的char[]字母中?JAVA
我尝试在迭代器中实现hasNext()方法
public boolean hasNext() {
filename = this.fileContent.getFileName();
int charLineSize = 0;
Scanner in = null;
ArrayList<Character> charList = new ArrayList<>
try(Scanner scanner = new Scanner(new BufferedReader(new FileReader(filePath)))) {
while (scanner.hasNextLine()) {
String line = scanner.nextLine();
charLineSize = line.split("\\s+").length;
String wordsline = line.split("\\s+").toLowerCase();
charList.addAll(new ArrayList<>(wordsline.chars().mapToObj(c -> (char) c).collect(Collectors.toList())));
}
} catch(FileNotFoundException e) {
System.out.println(e);
}
if (index < charLineSize) {
return true;
} else {
return false;
}
}
public String next() {
if (hasNext()) {
return charList.get(index++);
} else {
return null;
}
}
首先,我在这里把线分成了字符。将所有字符存储在charList中并在扫描仪扫描每一行后进行更新是否正确
我想在Next()方法中获取特定字符
# 1 楼答案
要转换为字符数组并添加内容,可以使用以下方法:
转换为字符数组:
line.toCharArray()
从char数组获取列表:
ArrayList<Character> charList = new ArrayList<>(line.chars().mapToObj(c -> (char) c).collect(Collectors.toList()));
要添加内容,请执行以下操作:
charList.add(c);
# 2 楼答案
使用^{}
你不能。一旦创建了数组,就不能更改其大小。这意味着您需要事先知道字符总数,但情况可能并非如此
将
array
声明为可以调用array.add(char)
的字符列表