Android上的Scala:java.lang.NoSuchMethodError:java.lang.String.isEmpty
我在Android 2.2.1上遇到以下异常:Android上的Scala:java.lang.NoSuchMethodError:java.lang.String.isEmpty,android,exception,scala,dalvik,nosuchmethoderror,Android,Exception,Scala,Dalvik,Nosuchmethoderror,我在Android 2.2.1上遇到以下异常: java.lang.NoSuchMethodError:java.lang.String.isEmpty 我正在从Scala呼叫text.isEmpty。有什么想法,如何解决这个问题吗?java.lang.String.isEmpty()是在姜饼(2.3)中添加的。您必须编写自己的替换函数…或者使用(text.length()>0)?使用JRE/JDK 1.5,它在字符串上没有isEmpty方法。这将避免Scala使用1.6的isEmpty而不是自
java.lang.NoSuchMethodError:java.lang.String.isEmpty
我正在从Scala呼叫
text.isEmpty
。有什么想法,如何解决这个问题吗?java.lang.String.isEmpty()
是在姜饼(2.3)中添加的。您必须编写自己的替换函数…或者使用(text.length()>0)
?使用JRE/JDK 1.5,它在字符串上没有isEmpty
方法。这将避免Scala使用1.6的isEmpty而不是自己的。如果您也有Java库,请务必选择与1.5兼容的库。使用TextUtils.isEmpty(),从API级别1开始提供。是的,我现在使用的是text.length==0
。我是根据2.2编译的,编译器会编译它。它发现索引eqoptimized.isEmpty
中的isEmpty
实现已优化。这是一种Scala怪癖。你问题中的Android API肯定是在姜饼之前才出现的。看到上面说的“自API级别9”是的,但我认为它应该使用traitIndexedSeqOptimized
中的实现。问题是,为什么它不使用这种特性?请查看此帖子