基本上我要做的是取一个字符串,并替换里面字母表中的每个字母,但保留任何空格而不将它们转换为“空”字符串,这是我打开这个问题的主要原因。
如果我使用下面的函数并传递字符串“ab”,而不是得到“ALPHA BETA”,我得到“ALPHAnullBETA”。
我已经尝试了所有可能的方法来检查当前迭代的单个字符是否为空格,但似乎没有任何效果。所有这些场景都给出了 false ,就好像它是一个常规字符一样。
public String charConvert(String s) {
Map<String, String> t = new HashMap<String, String>(); // Associative array
t.put("a", "ALPHA");
t.put("b", "BETA");
t.put("c", "GAMA");
// So on...
StringBuffer sb = new StringBuffer(0);
s = s.toLowerCase(); // This is my full string
for (int i = 0; i < s.length(); i++) {
char c = s.charAt(i);
String st = String.valueOf(c);
if (st.compareTo(" ") == 1) {
// This is the problematic condition
// The script should just append a space in this case, but nothing seems to invoke this scenario
} else {
sb.append(st);
}
}
s = sb.toString();
return s;
}