簡體   English   中英

如何從Java中的數組字符串中刪除空值?

[英]How to get rid of null values from a String of array in java?

我試圖從列表中刪除重復項,然后嘗試將其保存在字符串數組中。 但是,我想消除是否存在空值,即“”,但是我的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++; 
             } 
         } 

使用trim方法: if(string.trim().isEmpty())

如果有條件,請嘗試以下操作:

if ( string.trim().equals("") ){

}
else{
     //Your code
}

您正在像初始化數組:

String [] StopNamesForDB = new String[set.size()];

這樣,無論是否向其中添加元素,StopNamesForDB數組的大小將始終為9。

另外,請注意,您正在檢查代碼中的空格:

if(string.equals(" ")){

請更改為以下代碼或修剪它:

if(string.equals("")){

謝謝,希望對您有所幫助。

嘗試這個:

 List<String> toRemove = new ArrayList<String>();

for (String string : set) {

            if(string.isEmpty()){
                  toRemove.add(string);

            } 
}

然后從您的集合中刪除所有匹配的對象。

for(String string: toRemove)
       set.remove(string);

您正在談論列表或集合。 Set不允許重復的值,因此不必擔心重復...

如果要過濾“”,請使用if(string!= null && string.trim()。length()> 0){}

請嘗試以下操作,因為您只打算丟棄空的。

   for (String string : set) {
        if (string != null && string.trim().length() > 0) {
            System.out.println("Printing Set " + string);
            StopNamesForDB[i] = string;
            i++;
        }
    }

更新您的條件

if(string.equals(" ")){

            } 

if(string.trim().length == 0){

            } 

它會工作:)

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM