java比较逗号分隔的字符串

时间:2019-09-13 23:55:17

标签: java arrays sorting split

我正在尝试比较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
 }

有没有比较快速的方法,我想到了使用排序方法与一周中排序的天进行比较。

似乎上述方法似乎无效,请尝试进行更多研究。

1 个答案:

答案 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);
}