簡體   English   中英

Java StringBuilder 不附加字符串

[英]Java StringBuilder does not append strings

我在我的項目中使用 StringBuilder。 當我附加字符時一切正常,但是當我嘗試附加字符串“8(”或“)”或“”時,它保持空“”。 示例(已編輯):

    int length = number.length();
    CharSequence sequence = number.subSequence(0,length);
    StringBuilder stringBuilder = new StringBuilder(17);
    for (int i = 0; i < length; i++){
        if (Pattern.matches("^[\\d]$", String.valueOf(sequence.charAt(i)))){
            stringBuilder.append(sequence.charAt(i));
        }
    }
    sequence = stringBuilder.toString();
    stringBuilder = new StringBuilder(17);
    CharSequence s = "8 (";
    if (sequence.charAt(0) == 8 || sequence.charAt(0) == 7 || sequence.length() == 0){
        stringBuilder.append(s);
    }
    for (int i = 1; i < 11 && i < sequence.length(); i++){
        stringBuilder.append(sequence.charAt(i));
        if (i == 3){
            stringBuilder.append(") ");
        }
        if (i == 6 || i == 8){
            stringBuilder.append(' ');
        }
    }
    number.clear();
    number.clearSpans();
    number.append(stringBuilder.toString());

你的代碼的問題是

if (sequence.charAt(0) == 8 || sequence.charAt(0) == 7 || 

你需要比較字符而不是整數

if (sequence.charAt(0) == '8' || etc

暫無
暫無

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

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