当它来自bundle android时,如何在每个字符串中添加逗号?

时间:2018-03-07 07:29:42

标签: java android string bundle

我从bundle获得了4个字符串。但是如果任何一个字符串都是空的。单独逗号看起来不太好看。

因此,如果4个字符串中的任何一个都有空字符串,我不应该添加逗号。

如何进行?

http.
    .anonymous()
    .and()
    .authorizeRequests()
    .antMatchers("/admin-panel/**").authenticated()
    .anyRequest().permitAll()

// String normorTrx = trx1 +"," + trx2 +" ," + trx3 +" &#34 + TRX4;

如果trx2为空或者trx3或trx4为空或者两个值的任意组合为空,则上述字符串不起作用。 输出看起来像  1,,4或1,2 ,,。上述条件normorTrx仅在存在所有4个数据时有效。 1,2,3,4来自捆绑。

如何解决这个问题?

3 个答案:

答案 0 :(得分:1)

试试这个

Bundle bundle = getIntent().getExtras();
        if (bundle != null) {
            trx1 = bundle.getString("trx1");
            trx2 = bundle.getString("trx2");
            trx3 = bundle.getString("trx3");
            trx4 = bundle.getString("trx4");
        }


        StringBuilder stringBuilder= new StringBuilder();

        if(!TextUtils.isEmpty(trx1)){
            stringBuilder.append(trx1+",");
        }
        if(!TextUtils.isEmpty(trx2)){
            stringBuilder.append(trx2+",");
        }
        if(!TextUtils.isEmpty(trx3)){
            stringBuilder.append(trx3+",");
        } if(!TextUtils.isEmpty(trx4)){
            stringBuilder.append(trx4);
        }
       String normorTrx =stringBuilder.toString();

答案 1 :(得分:1)

您可以使用 StringBuilder 来解决:

Bundle bundle = getIntent().getExtras(); 
    if (bundle != null) {
     trx1 = bundle.getString("trx1");
        trx2 = bundle.getString("trx2");
        trx3 = bundle.getString("trx3");
        trx4 = bundle.getString("trx4");
     }


    StringBuilder sb = new StringBuilder();

            if(trx1 != null && !trx1.isEmpty()){
                sb.append(trx1);
                sb.append(",")
            }

            if(trx2 != null && !trx2.isEmpty()){
                sb.append(trx2);
                sb.append(",")
            }

            if(trx3 != null && !trx3.isEmpty()){
                sb.append(trx3);
                sb.append(",")
            }

            if(trx4 != null && !trx4.isEmpty()){
                sb.append(trx4);
            }

    String normorTrx = sb.toString(); // ----->  your desired result

答案 2 :(得分:0)

太简单了。 使用StringJoiner。下面就是一个例子。

StringJoiner joinNames = new StringJoiner(","); // passing comma(,) as delimiter   
// Adding values to StringJoiner  
joinNames.add("Rahul");  
joinNames.add("Raju");  
joinNames.add("Peter");  
joinNames.add("Raheem");  

System.out.println(joinNames);

输出:

<强>的Rahul,拉朱,彼得,拉希姆

仅适用于Java 8和API&gt; = 24