7
votes

Scala sur Android: Java.Lang.Noschmethoderror: java.lang.string.isempty

Je reçois une exception suivante sur Android 2.2.1:

java.lang.noschmethoderror: java.lang.string.isempty

J'appelle text.Impty de Scala. Une idée, comment résoudre ce problème?


1 commentaires

4 Réponses :


10
votes

java.lang.string.isempty () a été ajouté dans Gingerbread (2.3). Vous devrez écrire votre propre fonction de remplacement ...


3 commentaires

Je suis compilé contre 2.2 et compilateur compilent cela. Il trouve iSeempty implémentation dans indexedseqoptimized.Impty .


C'est un peu plus en bizartisme. L'API Android de votre question n'a définitivement pas apparu avant que le pain d'épice. Voir cette développeur.android.com/reference/java/lang/ String.html # isempt y () dit "depuis le niveau d'API 9"


Oui, mais je pense qu'il devrait utiliser la mise en œuvre à partir du trait indexedseqoptimized . La question est de savoir pourquoi elle n'utilise pas ce trait?



7
votes

Utiliser alternativement (texte.length ()> 0) ?


1 commentaires

Oui, j'utilise maintenant text.length == 0 .



9
votes

Utilisez JRE / JDK 1.5, qui n'avait pas de méthode ISPTY sur chaîne . Cela évitera les situations où Scala utilise 1,6 'code> isempty au lieu de son propre. Si vous avez également des bibliothèques Java, assurez-vous de choisir ceux compatibles avec 1,5.


0 commentaires

4
votes

Utilisez textutils.isempty () à la place disponible depuis l'API Niveau 1.


0 commentaires