Create a string with n characters

前端 未结 27 1112
猫巷女王i
猫巷女王i 2020-11-28 22:12

Is there a way in java to create a string with a specified number of a specified character? In my case, I would need to create a string with 10 spaces. My current code is:

27条回答
  •  南方客
    南方客 (楼主)
    2020-11-28 23:01

    Likely the shortest code using the String API, exclusively:

    String space10 = new String(new char[10]).replace('\0', ' ');
    
    System.out.println("[" + space10 + "]");
    // prints "[          ]"
    

    As a method, without directly instantiating char:

    import java.nio.CharBuffer;
    
    /**
     * Creates a string of spaces that is 'spaces' spaces long.
     *
     * @param spaces The number of spaces to add to the string.
     */
    public String spaces( int spaces ) {
      return CharBuffer.allocate( spaces ).toString().replace( '\0', ' ' );
    }
    

    Invoke using:

    System.out.printf( "[%s]%n", spaces( 10 ) );
    

提交回复
热议问题