java中的C#padding right等价物?

java中的C#padding right等价物?,java,Java,我正在尝试将下面的c#代码转换为java。我在转换它时面临着困难。请任何人给我推荐一个用Java实现的简单方法 if (Password.Length <= 8) Password = Password.PadRight(8); else Password = Password.PadRight(20); if(Password.Length您可以使用Apache字符串util进行填充(现成的解决方案) 也可以使用字符串

我正在尝试将下面的c#代码转换为java。我在转换它时面临着困难。请任何人给我推荐一个用Java实现的简单方法

 if (Password.Length <= 8)
            Password = Password.PadRight(8);
        else
            Password = Password.PadRight(20);

if(Password.Length您可以使用Apache字符串util进行填充(现成的解决方案)

也可以使用字符串格式

Password=String.format(“%20s”,Password);
代替
Password=Password.PadRight(20);


Password=String.format(“%8s”,Password);
代替
Password=Password.PadRight(8);
您将无法修改
String
类中内置的方法,因此我认为最好编写
静态
实用程序方法来重现类的行为

代码可能看起来像这样(尽管在使用这些方法或您编写或引入的任何其他方法之前,请确保编写您自己的单元测试)


您可以使用StringUtils,或者如果您的字符串只包含整数,那么您也可以通过将字符串解析为inetger来使用字符串格式
public static void main(String[] args) {
    String original = "text";
    int padToLength = 10;
    System.out.println("Padded:\n'" + padRight(original, padToLength) + "'");
    System.out.println("Padded:\n'" + padRight(original, padToLength, '@')
            + "'");
}

public static String padRight(String original, int padToLength) {
    return padRight(original, padToLength, ' ');
}

public static String padRight(String original, int padToLength, char padWith) {
    if (original.length() >= padToLength) {
        return original;
    }
    StringBuilder sb = new StringBuilder(padToLength);
    sb.append(original);
    for (int i = original.length(); i < padToLength; ++i) {
        sb.append(padWith);
    }
    return sb.toString();
}
Padded with spaces:
'text      '
Padded with custom character:
'text@@@@@@'