0

Javaでのユーザー定義の変換のようなものや、何十もの.toXXXXメソッドを追加せずにJavaで同じ効果を達成する方法に関する提案はありますか?

私はしばらくC#を使用していないので、正しい名前を思い出せませんが、C#では表記法を使用せずに関数に最初のパラメーターを渡すことができたことも覚えています

Foo(MyClass instance)

むしろ

instance.Foo()

私の記憶が正しければ、 MyClass の前にこのキーワードを使用する必要がありましたが、先ほど言っFoo(this MyClass instance)たように、しばらく c# を使用していないので覚えていません

Javaのこの2つの「方法」に代わるものは何か教えてもらえますか

4

1 に答える 1

5

いいえ、Java にはユーザー定義の変換のようなものはありません。個人的には、とにかく C# で暗黙的なユーザー定義の変換を使用するのは嫌いであり、明示的なものを書くことさえめったにありません。それらが不足しているために何十ものtoXXXメソッドを追加する必要がある場合は、C# で変換をどれだけ広く使用するかを再考する必要があります。

あなたが話している2番目の機能は、Javaには存在しない拡張メソッドです。通常どおり静的メソッドを呼び出すだけです。

于 2012-04-21T11:16:59.767 に答える