我正在尝试比较Java中逗号分隔的字符串。如果包含一周中的所有天,则返回true
import java.util.Arrays;
String scheduleDays="Wed,Tue,Mon,Thu,Sun,Fri,Sat";
if (Arrays.equals(Arrays.sort(scheduleDays.split(",")), ['Fri', 'Mon', 'Sat', 'Sun', 'Thu', 'Tue', 'Wed']){
return true;
}
else {
return false
}
有没有比较快速的方法,我想到了使用排序方法与一周中排序的天进行比较。
似乎上述方法似乎无效,请尝试进行更多研究。
答案 0 :(得分:1)
使用List<String>
作为基准,而不是对数组进行排序比较干净,只需使用containsAll()
进行检查。
类似的方法可能对您有用:
public static void main(String[] args) {
System.out.println(checkDays("Wed,Tue,Mon,Thu,Sun,Fri,Sat")); // true
System.out.println(checkDays("Tue,Mon,Thu,Sun,Fri,Sat")); // false
}
static List<String> allDays = Arrays.asList("Mon", "Tue", "Wed", "Thu", "Fri", "Sat", "Sun");
public static boolean checkDays(String days) {
return Arrays.asList(days.split(",")).containsAll(allDays);
}