Java String 占位符替换示例:使用泛型和迭代器

本文提供了一个 Java 程序示例,展示如何使用泛型和迭代器来替换 String 中的占位符。

import java.util.ArrayList;
import java.util.Iterator;
import java.util.List;

public class Main {

    public static void main(String[] args) {
        String str = 'Hello, ?, how are you doing today, ?';
        List<Object> objects = new ArrayList<>();
        objects.add('Alice');
        objects.add('Bob');

        String replacedStr = replacePlaceholders(str, objects);
        System.out.println(replacedStr);
    }

    private static String replacePlaceholders(String str, List<Object> objects) {
        StringBuilder sb = new StringBuilder(str);
        Iterator<Object> iterator = objects.iterator();
        int index = 0;

        while (sb.indexOf('?') != -1 && iterator.hasNext()) {
            Object obj = iterator.next();
            int placeholderIndex = sb.indexOf('?');

            sb.replace(placeholderIndex, placeholderIndex + 1, obj.toString());
            index++;
        }

        return sb.toString();
    }
}

在这个示例中,我们定义了一个字符串 str,其中包含了两个 '?' 占位符。我们还定义了一个 Object 类型的集合 objects,其中包含了两个元素 'Alice' 和 'Bob',它们分别对应了字符串中的两个占位符。

replacePlaceholders 方法接收一个字符串和一个 Object 集合作为参数,返回替换占位符后的字符串。在这个方法中,我们使用了 StringBuilder 来操作字符串,通过迭代器遍历 Object 集合,将集合中的元素一个一个地替换占位符。

最后,我们调用 replacePlaceholders 方法,将替换后的字符串打印出来。

输出结果为:'Hello, Alice, how are you doing today, Bob'


原文地址: https://www.cveoy.top/t/topic/pmps 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录