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
и все равно не проходит, в чем тут ошибка может быть?package com.javarush.task.task22.task2208;
import java.util.Collection;
import java.util.LinkedHashMap;
import java.util.Map;
import java.util.Set;
/*
Формируем WHERE
*/
public class Solution {
public static void main(String[] args) {
}
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();
}
}