我正在尝试从列表中删除重复项,然后尝试将其保存在字符串数组中。但是我想消除如果有一个空值,即“”但我的if条件似乎不起作用,它仍然在输出中显示一个空白。我怎么能摆脱它?在忽略空白值
之后,我期望总体大小为8个元素Output:Printing Set Peardonville and South Fraser
Printing Set Clearbrook and South Fraser
Printing Set George Ferguson and Gladwin
Printing Set Ar. Bourquin Exchange
Printing Set Lv. Bourquin Exchange
Printing Set Downtown Abbotsford
Printing Set Marshall and McCallum
Printing Set University of the Fraser Valley
**Printing Set**
StopNamesForDB的大小= 9
Set<String> set = new LinkedHashSet<String>(StopNames);
System.out.println("Size of Set Object" + set.size());
StopNamesForDB = new String[set.size()];
for (String string : set) {
if(string.equals(" ")){
}
else{
System.out.println("Printing Set " + string);
StopNamesForDB[i] = string;
i++;
}
}
答案 0 :(得分:1)
使用trim
方法:if(string.trim().isEmpty())
答案 1 :(得分:1)
如果有条件,请尝试:
if ( string.trim().equals("") ){
}
else{
//Your code
}
答案 2 :(得分:1)
您正在初始化数组,如:
String [] StopNamesForDB = new String[set.size()];
通过这样做,StopNamesForDB数组的大小将始终为9,无论您是否添加元素。
此外,请注意您正在检查代码中的空格:
if(string.equals(" ")){
请将其更改为以下代码或修剪它:
if(string.equals("")){
谢谢,希望这有帮助。
答案 3 :(得分:0)
试试这个:
List<String> toRemove = new ArrayList<String>();
for (String string : set) {
if(string.isEmpty()){
toRemove.add(string);
}
}
然后从您的集合中删除所有匹配的对象。
for(String string: toRemove)
set.remove(string);
答案 4 :(得分:0)
您正在谈论列表或集。 Set不允许重复值,所以不要担心重复...
如果你想过滤“”使用 if(string!= null&amp;&amp; string.trim()。length()&gt; 0){ }
答案 5 :(得分:0)
请尝试以下操作,因为您只想丢弃空的。
for (String string : set) {
if (string != null && string.trim().length() > 0) {
System.out.println("Printing Set " + string);
StopNamesForDB[i] = string;
i++;
}
}
答案 6 :(得分:0)
更新你的资料
if(string.equals(" ")){
}
到
if(string.trim().length == 0){
}
它会起作用:)