新人求解 java.lang.NoSuchMethodError问题

baidu_38814840 2021-05-10 04:00:20
private EditText et_search;
private ArrayList<String> arrayList;
//控件初始化没问题,list中数据正常,给编辑增加监听,用来查询list中符合条件的记录返回list
//编译正常,但是运行报错

//改行代码报错
List<String> result = arrayList.stream().filter(item->item.contains(et_search.getText().toString())).collect(Collectors.toList());

//以下为错误信息
java.lang.NoSuchMethodError: No virtual method stream()Ljava/util/stream/Stream; in class Ljava/util/ArrayList; or its super classes (declaration of 'java.util.ArrayList' appears in /system/framework/core-libart.jar)
at com.ztw.hy.qualitytest_0427.ItemsActivity$2.onTextChanged(ItemsActivity.java:113)
at android.widget.TextView.sendOnTextChanged(TextView.java:8070)
at android.widget.TextView.handleTextChanged(TextView.java:8132)
at android.widget.TextView$ChangeWatcher.onTextChanged(TextView.java:10245)
at android.text.SpannableStringBuilder.sendTextChanged(SpannableStringBuilder.java:1033)
at android.text.SpannableStringBuilder.replace(SpannableStringBuilder.java:559)
at android.text.SpannableStringBuilder.replace(SpannableStringBuilder.java:492)
at android.text.SpannableStringBuilder.replace(SpannableStringBuilder.java:34)
at android.view.inputmethod.BaseInputConnection.replaceText(BaseInputConnection.java:714)
at android.view.inputmethod.BaseInputConnection.commitText(BaseInputConnection.java:206)
at com.android.internal.widget.EditableInputConnection.commitText(EditableInputConnection.java:184)
at com.android.internal.view.IInputConnectionWrapper.executeMessage(IInputConnectionWrapper.java:342)
at com.android.internal.view.IInputConnectionWrapper$MyHandler.handleMessage(IInputConnectionWrapper.java:94)
at android.os.Handler.dispatchMessage(Handler.java:102)
at android.os.Looper.loop(Looper.java:179)
at android.app.ActivityThread.main(ActivityThread.java:5769)
at java.lang.reflect.Method.invoke(Native Method)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:784)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:674)
...全文
407 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
baidu_38814840 2021-05-10
  • 打赏
  • 举报
回复
我的安卓机太老了,6.0的。。。无语了,我还以为9.0的
立青_ 中级 2021-05-10
  • 打赏
  • 举报
回复
引用 3 楼 baidu_38814840 的回复:
[quote=引用 1 楼 立青_ 的回复:]sdk到24才有stream方法
//版本够的说 plugins { id 'com.android.application' } android { compileSdkVersion 30 buildToolsVersion "30.0.3" defaultConfig { applicationId "com.ztw.hy.qualitytest_0427" minSdkVersion 16 targetSdkVersion 30 versionCode 1 versionName "1.0" testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner" } buildTypes { release { minifyEnabled false proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro' } } compileOptions { sourceCompatibility JavaVersion.VERSION_1_8 targetCompatibility JavaVersion.VERSION_1_8 } } dependencies { implementation 'androidx.core:core:1.2.0' // implementation 'androidx.appcompat:appcompat:1.1.0' implementation 'com.google.android.material:material:1.1.0' implementation 'androidx.constraintlayout:constraintlayout:1.1.3' implementation files('libs\\ksoap2-android-assembly-3.6.4-jar-with-dependencies.jar') testImplementation 'junit:junit:4.+' implementation 'com.jakewharton:butterknife:6.1.0' implementation 'com.github.bumptech.glide:glide:4.12.0' annotationProcessor 'com.github.bumptech.glide:compiler:4.12.0' }[/quote] 得看你运行的是多少啊,compileSdkVersion 只能让你编译通过
baidu_38814840 2021-05-10
  • 打赏
  • 举报
回复
引用 2 楼 立青_ 的回复:
你运行的手机是Android几?stream虽然是java8的方法,但是在Android7以上才有
是在下愚昧了,我的手机刚查了下23的,。。没有想到这一点
baidu_38814840 2021-05-10
  • 打赏
  • 举报
回复
引用 1 楼 立青_ 的回复:
sdk到24才有stream方法
//版本够的说 plugins { id 'com.android.application' } android { compileSdkVersion 30 buildToolsVersion "30.0.3" defaultConfig { applicationId "com.ztw.hy.qualitytest_0427" minSdkVersion 16 targetSdkVersion 30 versionCode 1 versionName "1.0" testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner" } buildTypes { release { minifyEnabled false proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro' } } compileOptions { sourceCompatibility JavaVersion.VERSION_1_8 targetCompatibility JavaVersion.VERSION_1_8 } } dependencies { implementation 'androidx.core:core:1.2.0' // implementation 'androidx.appcompat:appcompat:1.1.0' implementation 'com.google.android.material:material:1.1.0' implementation 'androidx.constraintlayout:constraintlayout:1.1.3' implementation files('libs\\ksoap2-android-assembly-3.6.4-jar-with-dependencies.jar') testImplementation 'junit:junit:4.+' implementation 'com.jakewharton:butterknife:6.1.0' implementation 'com.github.bumptech.glide:glide:4.12.0' annotationProcessor 'com.github.bumptech.glide:compiler:4.12.0' }
立青_ 中级 2021-05-10
  • 打赏
  • 举报
回复
你运行的手机是Android几?stream虽然是java8的方法,但是在Android7以上才有
立青_ 中级 2021-05-10
  • 打赏
  • 举报
回复
sdk到24才有stream方法
今天做项目,用到了el表达式和jstl,在tomcat6.0上跑得好好的,没想到copy到tomcat5.5后,服务器起不来了,是tomcat版本的问题。查阅了不少资料,现在总结如下: 错误信息: java.lang.NoClassDefFoundError: javax/el/ExpressionFactory 分析:少包,上网查阅后发现解决方法 解决方法:将javaee.jar包再copy一份放在tomcat目录的common\lib下 如上完成后即解决了该异常,大以为大功告成,没想到又出现了新异常 错误信息:java.lang.NoSuchMethodError: javax.servlet.JSP.PageContext.getELContext()LJAVAx/el/ELContext 分析:这个问题网上找了半天没看到解决方法,只好自己想办法。想起先前看到的一个知识点:tomcat 6 实现了 servlet 2.5 和JSP2.1的规范相应的 tomcat 5 实现的是 2.4和2.0,想到tomcat5不支持JSTL1.2,于是替换JSTL1.1的包试试看后,问题解决 解决方法:移出工程lib目录中的JSTL1.2.jar,添加standard-1.1.jar和JSTL1.1.jar 总结: jstl1.1版本由2个必要包构成:standard-1.1.jar和JSTL1.1.jar;而jstl1.1版本只有一个必要包JSTL1.2.jar。(一开始在替换的过程中想当然的用JSTL1.1.jar换JSTL1.2.jar,然后遗漏了standard-1.1.jar,耽搁了不少时间。) 经测试,tomcat6.0支持JSTL1.2版本,也支持JSTL1.1版本;tomcat5.5只支持JSTL1.1(JSTL1.1一下版本未测试) 不建议将2个版本的3个包同时放在工程中,可能会发生版本冲突。(另外,实际操作的时候发现JSTL1.2.jar和JSTL1.1.jar这2个包放一起可以在tomcat5.5和tomcat6.0上跑,鉴于JSTL1.1.jar里面没有c.tld等文件,猜测JSTL1.1.jar里面只是放置了1.1的专用的类和信息)

80,350

社区成员

发帖
与我相关
我的任务
社区描述
移动平台 Android
androidandroid-studioandroidx 技术论坛(原bbs)
社区管理员
  • Android
  • yechaoa
  • 失落夏天
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧