Gibt es eine Möglichkeit zu steuern, welche implizite Konvertierung standardmäßig verwendet wird?
Angenommen, ich habe Folgendes:
class String2(val x:String) {
def *(times:Int) : String = {
val builder = new StringBuilder()
for( i <- 0 until times) {
builder.append(x)
}
builder.toString()
}
}
Jetzt, wenn ich dies implizit hinzufüge:
implicit def gimmeString2(y:String) = new String2(y)
Ich erhalte einen Kompilierungsfehler, da stringWrapper dieses implizite Element ebenfalls hinzufügt. Gibt es eine Möglichkeit, dem Compiler zu sagen: "Ignoriere andere Implikationen, benutze dies", damit ich a nicht instanziieren mussString2
Einspruch erheben und daran arbeiten?
Ich gebe zu, dass der Beispielcode möglicherweise nicht der am besten geeignete ist (für diese Frage), aber ich denke, dass er ausreicht.