How to replace all characters in a Java string with stars

前端 未结 9 1930
不思量自难忘°
不思量自难忘° 2020-12-01 07:32

I want to replace all the characters in a Java String with * character. So it shouldn\'t matter what character it is, it should be replaced with a *

9条回答
  •  無奈伤痛
    2020-12-01 08:17

    There may be other faster/better ways to do it, but you could just use a string buffer and a for-loop:

    public String stringToAsterisk(String input) {
        if (input == null) return "";
    
        StringBuffer sb = new StringBuffer();
        for (int x = 0; x < input.length(); x++) {
            sb.append("*");
        }
        return sb.toString();
    }
    

    If your application is single threaded, you can use StringBuilder instead, but it's not thread safe.

    I am not sure if this might be any faster:

    public String stringToAsterisk(String input) {
        if (input == null) return "";
    
        int length = input.length();
        char[] chars = new char[length];
        while (length > 0) chars[--length] = "*";
        return new String(chars);
    }
    

提交回复
热议问题