java中的C#padding right等价物?
我正在尝试将下面的c#代码转换为java。我在转换它时面临着困难。请任何人给我推荐一个用Java实现的简单方法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进行填充(现成的解决方案) 也可以使用字符串
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@@@@@@'