0
を通じてコンパニオンオブジェクトにメソッドを追加し、あなただけのように、他のクラスのインスタンスに新しいメソッドを追加するために、暗黙的なクラスを作成することができます。は、典型的なクラスと暗黙
implicit class IntWrapper(i: Int) {
def otherMethod(s: String) = println(s"i: ${i} with ${s}")
}
今は
3.otherMethod("something")
を行うことができます
私の質問は
までにメソッドを追加することが可能ですされています(hereを回答)companion object
?は、プロジェクトの外に定義されたJava
enum
あります想像して、あなたのScalaのコードでそれを使用しています。 Javaenums
はString
から列挙値を取得するが、IllegalArgumentException
をスローする方法は.valueOf(s: String)
です。Option
を返すメソッド.safeValueOf(s: String)
を追加したいと思います。最初の例と同じ方法で、このメソッドをJava
enum
に追加することはできますか?ここで
私はそれが可能ではないと思います。 Java enum自体は値ではありません。それで、それは変換することはできません。 –