Java と C# の両方で記述された単純な再帰メソッドがあります。
ジャワ
public static String reverse(String letter) {
if (letter == "")
return "";
else
return letter.substring(letter.length() - 1)
+ reverse(letter.substring(0, letter.length() - 1));
}
C#
public static string reverse(string letter)
{
if (letter == "")
return "";
else
return letter[letter.Length - 1]
+ reverse(letter.Substring(0, letter.Length - 1));
}
しかし、Java バージョンは で失敗しletter == ""
、文字が空であっても false を返します。Java バージョンが失敗するのに C# バージョンが機能するのはなぜですか?