0

是否有类似Java 中的用户定义转换或关于如何在不添加数十种.toXXXX方法的情况下在 Java 中获得相同效果的任何建议

我有一段时间没有使用 c#,所以我不记得它的正确名称,但我还记得在 c# 中我能够在不使用符号的情况下将第一个参数传递给函数

Foo(MyClass instance)

反而

instance.Foo()

如果我没记错的话,我必须在 MyClass 之前使用这个关键字,Foo(this MyClass instance)但正如我所说,我有一段时间没有使用 c#,所以我不记得了

谁能告诉我Java中这两种“方法”的替代方法是什么

4

1 回答 1

5

不,在 Java 中没有像用户定义的转换那样的东西。就我个人而言,无论如何我都不喜欢在 C# 中使用隐式用户定义的转换,甚至很少写显式的转换。如果缺少它们导致您添加了数十种toXXX方法,那么您可能应该重新考虑在 C# 中使用转换的范围。

您正在谈论的第二个功能是Java 中也不存在的扩展方法。您只需要照常调用静态方法。

于 2012-04-21T11:16:59.767 回答