Search code examples
javastringarraylistcontains

Arrays.asList returns false


I just wanna check if my String[] array contains "n" or "s".

String[] coordinatesExample = {"57.8136°s", "28.3496°e"};

private void isContains(String[] coordinates) {

    boolean contains = Arrays.asList(coordinates).contains("s");
        if (contains) {
            System.out.println("It works!");
        }else {
            System.out.println("RAKAMAKAFO");
        }

So I expected: "It works!", but in fact: "RAKAMAKAFO"

What I did wrong?


Solution

  • Your current solution only works if you have a String Array like this:

    String[] coordinatesExample = {"57.8136°s", "28.3496°e", "s"};
    

    Try this if you want to check if any String from your Array contains "n" or "s".

    private static void isContains(String[] coordinates) {
        boolean contains = Arrays.stream(coordinates)
                .anyMatch(coordinate -> coordinate.contains("s") || coordinate.contains("n"));
        if (contains) {
            System.out.println("It works!");
        } else {
            System.out.println("RAKAMAKAFO");
        }
    }