Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/384.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java startsWith()无法与';正常工作§';性格_Java_String_Java Stream - Fatal编程技术网

Java startsWith()无法与';正常工作§';性格

Java startsWith()无法与';正常工作§';性格,java,string,java-stream,Java,String,Java Stream,我有以下代码: String checkMessage = Arrays.stream(event.message.getFormattedText().split(" ")).filter(word -> !word.startsWith("§") || word.startsWith("§f")).collect(Collectors.joining(" ")); System.out.println(checkMessage); 不幸的是,在一些测试中,字符串似乎在输出中包含以“§

我有以下代码:

String checkMessage = Arrays.stream(event.message.getFormattedText().split(" ")).filter(word -> !word.startsWith("§") || word.startsWith("§f")).collect(Collectors.joining(" "));
System.out.println(checkMessage);
不幸的是,在一些测试中,字符串似乎在输出中包含以“§”开头的单词,但不包含“§f”

§r§928 §r§r§c§lTITAN §r§eSimplyAnon§r §ftest§r

这是如何发生的?

与编译器使用的字符集相比,您的java源文件可能具有不同的字符集。在编译过程中使用
javac-encoding
(例如,如果源文件是UTF-8,则使用
javac-encoding utf8
)或使用系统默认编码保存源文件。

与编译器使用的字符集相比,java源文件可能具有不同的字符集。在编译过程中使用
javac-encoding
(例如,如果源文件是UTF-8,则使用
javac-encoding utf8
)或使用系统默认编码保存源文件。

我在输出中看到一个单词包含
§f
。是否排除了其他类似的单词?不排除任何单词,我的目标是排除以“§”开头的单词,而不是“§f”。嗯,我的测试运行正常:奇怪,考虑到getFormattedText()方法给出的输出与最终存储在checkMessage中的输出完全相同,这就是您测试的。通过使用unicode字符串“\u00A7”解决在实际符号上方。我在输出中看到一个单词包含
§f
。是否排除了其他类似的单词?不排除任何单词,我的目标是排除以“§”开头的单词,而不是“§f”。嗯,我的测试运行正常:奇怪,考虑到getFormattedText()方法给出的输出与最终存储在checkMessage中的输出完全相同,这就是您测试的。通过使用unicode字符串“\u00A7”解决超过实际符号。