繁体   English   中英

在自定义 ArrayList Java 中创建 toString 方法

[英]Creating toString method in custom ArrayList Java

我正在创建自己的ArrayList并停留在toString()方法中,你能帮我在打印最后一项后摆脱逗号吗?

toString()方法:

    @Override
    public String toString() {  
    StringBuilder sb = new StringBuilder();
    if(store == null) {
        return "[]";
    } else {

    for (int i = 0; i < size; i++) {
        sb.append(store[i].toString() + ", ");
    }

    return "[" + sb.toString() + "]";
    }
}

Main方法:

public static void main(String[] args) {
    MyArrayList<String> fruits = new MyArrayList<>();

    System.out.println("My array list with fruits :)");

    fruits.add("Bananas");
    fruits.add("Apples");
    fruits.add("Pineapple");
    fruits.add("Peaches");
    fruits.add("Pears");
    fruits.add("Plum");

    System.out.println("The list of fruits : " + fruits);

    fruits.clear();

    System.out.println("All fruits have been eaten =) " + fruits);

输出:

[Bananas, Apples, Pineapple, Peaches, Pears, Plum, ]

在字符串的开头连接逗号并在索引 1 处开始循环

if(store.length > 0) {
   sb.append(store[0].toString());
}

for (int i = 1; i < store.length; i++) {
   sb.append(", " + store[i].toString());
}

只需添加一个 if 条件以仅在索引i不等于for循环接受的最后一个索引时添加逗号

@Override
    public String toString() {  
    StringBuilder sb = new StringBuilder();
    if(store == null) {
        return "[]";
    } else {

    for (int i = 0; i < size; i++) {
        sb.append(store[i].toString());
        if(i != size - 1) sb.append(",");
    }

    return "[" + sb.toString() + "]";
    }
}

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM