Scala s'appuie sur java.lang.String pour ses opérations String, mais il enrichit la classe de chaînes Java en ajoutant d'autres méthodes telles que .intersect entre autres Il en va de même pour int wrapper (Int) en Java , il y a aussi la classe RichInt.Considérations sur les performances Dans Scala
Je me rends compte que le code suivant:
val stringOne: String = "teststring"
val stringTwo: String = "string"
stringOne.intersect(stringTwo)
entraînera le compilateur scala à type de stringOne coulé à la classe StringOps afin qu'il ait accès à méthode Intersect
Je crains que ce pourrait entraîner des coûts de calcul sérieux Donc, quelqu'un peut-il me dire si cela est vrai et si oui, y a-t-il des façons d'optimiser ou d'éviter cette situation?
J'espère que ma question est logique, j'ai lu plusieurs livres, mais aucun ne répond à ces préoccupations Merci. :)
EDIT: Une question similaire a été posée et répondue here Je vous serais reconnaissant si quelqu'un pouvait répondre à ce sous l'angle de la mémoire ainsi
Avez-vous entendu parler de conversions implicites? Si non - je vous recommande de lire sur le sujet, c'est lié à votre question. – dmitry
Je sais que les conversions implicites sont celles gérées par le compilateur sans que vous le fassiez vous-même dans le code par exemple dans Java Employeur em = new Employee(); Manager mg = (Manager) em est une conversion explicite. Non? –