public class Solution {
    public static void main(String[] args) {
        Map<String, String> map = new LinkedHashMap<>();
        map.put("name", "Ivanov");
        map.put("country", "Ukraine");
        map.put("city", "Kiev");
        map.put("age", null);
        System.out.println(getQuery(map));
    }
    public static String getQuery(Map<String, String> params) {
        StringBuilder sb = new StringBuilder();
        for (Map.Entry <String, String> entry : params.entrySet()){
                if ((entry.getKey() != null) && (entry.getValue() != null) ){
                    if (sb.toString().equals("")){
                        sb.append(entry.getKey());
                        sb.append(" = ");
                        sb.append(entry.getValue());
                    } else {
                        sb.append(" and ");
                        sb.append(entry.getKey());
                        sb.append(" = ");
                        sb.append(entry.getValue());
                    }
                } else {
                    sb.append("");
                }
            }
        return sb.toString();
    }
}
output :
name = Ivanov and country = Ukraine and city = Kiev
и все равно не проходит, в чем тут ошибка может быть?