2016-11-21 61 views
1

我嘗試轉換下面的代碼是用C#與Java。而我在轉換它時遇到了困難。請任何人都可以給我一個簡單的方法來用Java來做到這一點。C#填充權等同於Java的?

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

可以使用StringUtils的,或者如果你的字符串只包含整數,那麼你可以通過解析字符串轉換成INETGER使用字符串格式以及 –

回答

2

您將無法修改構建String類的方法,因此我認爲最好編寫static實用程序方法來重現the C# methods的行爲。

的代碼可能是這個樣子(不過可以肯定的使用這些方法,或者你寫的任何其他方法之前編寫自己的單元測試或介紹)。

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: 
'[email protected]@@@@@'