Java中是否有类似User-Defined conversions的内容或者有关如何在不添加数十个.toXXXX
方法的情况下在java中实现相同效果的任何建议
我还没有使用过c#一段时间,因此我无法记住正确的名称,但我也记得在c#中我能够将第一个参数传递给函数而不使用符号
Foo(MyClass instance)
而是
instance.Foo()
如果我没记错的话,我必须在MyClass之前使用此关键字,例如Foo(this MyClass instance)
,但正如我所说,我暂时没有使用过c#,所以我无法记住
谁能告诉我这两种方法的替代方案"方法"在Java中
答案 0 :(得分:5)
不,在Java中没有像用户定义的转换那样。我个人不喜欢在C#中使用隐式用户定义的转换,甚至很少写出明确的转换。如果缺少它们会导致您添加数十的toXXX
方法,那么您应该重新考虑在C#中使用转换的广泛程度。
您正在讨论的第二个功能是extension methods,它在Java中也不存在。你只需要正常调用静态方法。