在这篇文章中,我们将为您详细介绍java.util.AbstractList.remove处的java.lang.UnsupportedOperationException的内容,并且讨论关于未知源的
在这篇文章中,我们将为您详细介绍java.util.AbstractList.remove处的java.lang.UnsupportedOperationException的内容,并且讨论关于未知源的相关问题。此外,我们还会涉及一些关于android-Canvas中的java.lang.UnsupportedOperationException、Arrays.asList 数组转集合 java.lang.UnsupportedOperationException错误、Arrays.asList()报错java.lang.UnsupportedOperationException、Cause: java.lang.UnsupportedOperationException的知识,以帮助您更全面地了解这个主题。
本文目录一览:- java.util.AbstractList.remove处的java.lang.UnsupportedOperationException(未知源)(java在源文件中未声明类)
- android-Canvas中的java.lang.UnsupportedOperationException
- Arrays.asList 数组转集合 java.lang.UnsupportedOperationException错误
- Arrays.asList()报错java.lang.UnsupportedOperationException
- Cause: java.lang.UnsupportedOperationException
java.util.AbstractList.remove处的java.lang.UnsupportedOperationException(未知源)(java在源文件中未声明类)
我试过下面的代码
String s[]={"1","2","3","4"}; Collection c=Arrays.asList(s); System.out.println(c.remove("1") +" remove flag");System.out.println(" collcetion "+c);
我正在
Exception in thread "main" java.lang.UnsupportedOperationException at java.util.AbstractList.remove(Unknown Source) at java.util.AbstractList$Itr.remove(Unknown Source) at java.util.AbstractCollection.remove(Unknown Source) at test.main(test.java:26)
谁能帮我解决这个问题?
答案1
小编典典简单的解决方法是将List传递到ArrayList
的构造函数中。
例如:
字符串valuesInArray [] = {“ 1”,“ 2”,“ 3”,“ 4”}; 列表modifiableList = new ArrayList(Arrays.asList(valuesInArray));System.out.println(modifiableList.remove(“ 1”)+“ remove flag”); System.out.println(“ collcetion” + modifiableList);
响应:
真删除标志
集合[2,3,4]
android-Canvas中的java.lang.UnsupportedOperationException
我在应用程序中使用了自定义ImageView.但这表明
java.lang.UnsupportedOperationException
在代码canvas.clipPath(clipPath)中.
我不知道为什么会收到这个错误.它在某些手机上可以完美运行.
public class Gma_CustomImage2 extends ImageView {
public static float radius = 10.0f;
public Gma_CustomImage2(Context context) {
super(context);
}
public Gma_CustomImage2(Context context, AttributeSet attrs) {
super(context, attrs);
}
public Gma_CustomImage2(Context context, AttributeSet attrs, int defStyle) {
super(context, attrs, defStyle);
}
@Override
protected void onDraw(Canvas canvas) {
Path clipPath = new Path();
RectF rect = new RectF(0, 0, this.getWidth(), this.getHeight()+13.0f);
clipPath.addRoundRect(rect, radius, radius, Path.Direction.CW);
canvas.clipPath(clipPath);
super.onDraw(canvas);
}
}
LogCat
08-08 12:04:47.963: E/AndroidRuntime(5710): FATAL EXCEPTION: main
08-08 12:04:47.963: E/AndroidRuntime(5710): java.lang.UnsupportedOperationException
08-08 12:04:47.963: E/AndroidRuntime(5710): at android.view.GLES20Canvas.clipPath(GLES20Canvas.java:408)
08-08 12:04:47.963: E/AndroidRuntime(5710): at com.example.meetap.Gma_CustomImage2.onDraw(Gma_CustomImage2.java:34)
08-08 12:04:47.963: E/AndroidRuntime(5710): at android.view.View.draw(View.java:10982)
08-08 12:04:47.963: E/AndroidRuntime(5710): at android.view.View.getdisplayList(View.java:10421)
08-08 12:04:47.963: E/AndroidRuntime(5710): at android.view.ViewGroup.dispatchGetdisplayList(ViewGroup.java:2597)
08-08 12:04:47.963: E/AndroidRuntime(5710): at android.view.View.getdisplayList(View.java:10384)
08-08 12:04:47.963: E/AndroidRuntime(5710): at android.view.ViewGroup.dispatchGetdisplayList(ViewGroup.java:2597)
08-08 12:04:47.963: E/AndroidRuntime(5710): at android.view.View.getdisplayList(View.java:10384)
08-08 12:04:47.963: E/AndroidRuntime(5710): at android.view.ViewGroup.dispatchGetdisplayList(ViewGroup.java:2597)
08-08 12:04:47.963: E/AndroidRuntime(5710): at android.view.View.getdisplayList(View.java:10384)
08-08 12:04:47.963: E/AndroidRuntime(5710): at android.view.ViewGroup.drawChild(ViewGroup.java:2850)
08-08 12:04:47.963: E/AndroidRuntime(5710): at android.view.ViewGroup.dispatchDraw(ViewGroup.java:2489)
08-08 12:04:47.963: E/AndroidRuntime(5710): at android.view.View.draw(View.java:10985)
08-08 12:04:47.963: E/AndroidRuntime(5710): at android.widget.FrameLayout.draw(FrameLayout.java:450)
08-08 12:04:47.963: E/AndroidRuntime(5710): at android.widget.ScrollView.draw(ScrollView.java:1524)
08-08 12:04:47.963: E/AndroidRuntime(5710): at android.view.View.getHardwareLayer(View.java:10220)
08-08 12:04:47.963: E/AndroidRuntime(5710): at android.view.ViewGroup.drawChild(ViewGroup.java:2863)
08-08 12:04:47.963: E/AndroidRuntime(5710): at android.view.ViewGroup.dispatchDraw(ViewGroup.java:2489)
08-08 12:04:47.963: E/AndroidRuntime(5710): at com.example.meetap.Gma_CustomViewBehind.dispatchDraw(Gma_CustomViewBehind.java:121)
08-08 12:04:47.963: E/AndroidRuntime(5710): at android.view.View.getdisplayList(View.java:10419)
08-08 12:04:47.963: E/AndroidRuntime(5710): at android.view.ViewGroup.drawChild(ViewGroup.java:2850)
08-08 12:04:47.963: E/AndroidRuntime(5710): at android.view.ViewGroup.dispatchDraw(ViewGroup.java:2489)
08-08 12:04:47.963: E/AndroidRuntime(5710): at android.view.View.getdisplayList(View.java:10419)
08-08 12:04:47.963: E/AndroidRuntime(5710): at android.view.ViewGroup.dispatchGetdisplayList(ViewGroup.java:2597)
08-08 12:04:47.963: E/AndroidRuntime(5710): at android.view.View.getdisplayList(View.java:10384)
08-08 12:04:47.963: E/AndroidRuntime(5710): at android.view.ViewGroup.dispatchGetdisplayList(ViewGroup.java:2597)
08-08 12:04:47.963: E/AndroidRuntime(5710): at android.view.View.getdisplayList(View.java:10384)
08-08 12:04:47.963: E/AndroidRuntime(5710): at android.view.ViewGroup.dispatchGetdisplayList(ViewGroup.java:2597)
08-08 12:04:47.963: E/AndroidRuntime(5710): at android.view.View.getdisplayList(View.java:10384)
08-08 12:04:47.963: E/AndroidRuntime(5710): at android.view.HardwareRenderer$glrenderer.draw(HardwareRenderer.java:842)
08-08 12:04:47.963: E/AndroidRuntime(5710): at android.view.ViewRootImpl.draw(ViewRootImpl.java:1935)
08-08 12:04:47.963: E/AndroidRuntime(5710): at android.view.ViewRootImpl.performTraversals(ViewRootImpl.java:1659)
08-08 12:04:47.963: E/AndroidRuntime(5710): at android.view.ViewRootImpl.handleMessage(ViewRootImpl.java:2467)
08-08 12:04:47.963: E/AndroidRuntime(5710): at android.os.Handler.dispatchMessage(Handler.java:99)
08-08 12:04:47.963: E/AndroidRuntime(5710): at android.os.Looper.loop(Looper.java:137)
08-08 12:04:47.963: E/AndroidRuntime(5710): at android.app.ActivityThread.main(ActivityThread.java:4424)
08-08 12:04:47.963: E/AndroidRuntime(5710): at java.lang.reflect.Method.invokeNative(Native Method)
08-08 12:04:47.963: E/AndroidRuntime(5710): at java.lang.reflect.Method.invoke(Method.java:511)
08-08 12:04:47.963: E/AndroidRuntime(5710): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:784)
08-08 12:04:47.963: E/AndroidRuntime(5710): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:551)
08-08 12:04:47.963: E/AndroidRuntime(5710): at dalvik.system.NativeStart.main(Native Method)
解决方法:
使用此代码:
if (Build.VERSION.SDK_INT > Build.VERSION_CODES.HONEYCOMB) {
Gma_CustomImage.setLayerType(View.LAYER_TYPE_SOFTWARE, null);
}
Arrays.asList 数组转集合 java.lang.UnsupportedOperationException错误
public static void main(String[] args) {
String[] keyArrayStr = new String[]{"123","ewe","323","093"};
Map<String,String> removeMap = new HashMap<String,String>();
removeMap.put("123", "1");
removeMap.put("ewe", "1");
removeMap.put("323", "1");
removeMap.put("093", "1");
// 注意这里:单纯的使用 Arrays.asList 把数组转换为集合后,使用 .add() .remove() 会报 java.lang.UnsupportedOperationException 错误
// 原因:Arrays.asList 转换的ArrayList 是内部类,并不是 java.util.ArrayList,内部类下没有 add、remove 方法导致的。
// 解决方案: new ArrayList(Arrays.asList());
List<String> tempList = new ArrayList(Arrays.asList(keyArrayStr));
for (int i = 0; i < tempList.size(); i++) {
if (removeMap.containsKey(tempList.get(i))) {
tempList.remove(i);
i--;
}
}
keyArrayStr = tempList.toArray(new String[tempList.size()]);
}
Arrays.asList()报错java.lang.UnsupportedOperationException
问题:
使用工具类Arrays.asList()方法把数组转换成集合时,不能使用修改集合相关的方法,比如add,remove。这个ArrayList是Arrays类自己定义的一个内部类!这个内部类没有实现add()、remove()方法,而是直接使用它的父类
的相应方法。而父类中的add()和remove()是直接抛出异常的!
源码:
解决方法:
总结:
1.Arrays.asList()底层其实还是数组;
2.如果使用了Arrays.asList()的话,最好不要使用其集合的操作方法;
3. List list = new ArrayList<>(Arrays.asList(“a”, “b”, “c”))可以在外面这样包一层真正的ArrayList。
Cause: java.lang.UnsupportedOperationException
运行web项目的时候出现以下错误:
### Cause: java.lang.UnsupportedOperationException
at org.mybatis.spring.MyBatisExceptionTranslator.translateExceptionIfPossible(MyBatisExceptionTranslator.java:77)
at org.mybatis.spring.SqlSessionTemplate$SqlSessionInterceptor.invoke(SqlSessionTemplate.java:446)
at com.sun.proxy.$Proxy74.selectList(Unknown Source)
at org.mybatis.spring.SqlSessionTemplate.selectList(SqlSessionTemplate.java:230)
at org.apache.ibatis.binding.MapperMethod.executeForMany(MapperMethod.java:137)
at org.apache.ibatis.binding.MapperMethod.execute(MapperMethod.java:75)
at org.apache.ibatis.binding.MapperProxy.invoke(MapperProxy.java:59)
at com.sun.proxy.$Proxy81.getEnjoyCourseByUser(Unknown Source)
at com.ros.serviceimpl.CourseServiceImpl.getCourseByEngoy(CourseServiceImpl.java:1168)
at com.ros.controller.CourseController.getCourseByEngoy(CourseController.java:427)
at com.ros.controller.CourseController$$FastClassBySpringCGLIB$$8a9731c4.invoke(<generated>)
at org.springframework.cglib.proxy.MethodProxy.invoke(MethodProxy.java:204)
at org.springframework.aop.framework.CglibAopProxy$DynamicAdvisedInterceptor.intercept(CglibAopProxy.java:669)
at com.ros.controller.CourseController$$EnhancerBySpringCGLIB$$3f51ab5d.getCourseByEngoy(<generated>)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:498)
at org.springframework.web.method.support.InvocableHandlerMethod.doInvoke(InvocableHandlerMethod.java:205)
at org.springframework.web.method.support.InvocableHandlerMethod.invokeForRequest(InvocableHandlerMethod.java:133)
at org.springframework.web.servlet.mvc.method.annotation.ServletInvocableHandlerMethod.invokeAndHandle(ServletInvocableHandlerMethod.java:97)
at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.invokeHandlerMethod(RequestMappingHandlerAdapter.java:827)
at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.handleInternal(RequestMappingHandlerAdapter.java:738)
at org.springframework.web.servlet.mvc.method.AbstractHandlerMethodAdapter.handle(AbstractHandlerMethodAdapter.java:85)
at org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:967)
at org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:901)
at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:970)
at org.springframework.web.servlet.FrameworkServlet.doPost(FrameworkServlet.java:872)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:661)
at org.springframework.web.servlet.FrameworkServlet.service(FrameworkServlet.java:846)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:742)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:231)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166)
at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:52)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166)
at org.apache.shiro.web.servlet.ProxiedFilterChain.doFilter(ProxiedFilterChain.java:61)
at org.apache.shiro.web.servlet.AdviceFilter.executeChain(AdviceFilter.java:108)
at org.apache.shiro.web.servlet.AdviceFilter.doFilterInternal(AdviceFilter.java:137)
at org.apache.shiro.web.servlet.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:125)
at org.apache.shiro.web.servlet.ProxiedFilterChain.doFilter(ProxiedFilterChain.java:66)
at org.apache.shiro.web.servlet.AbstractShiroFilter.executeChain(AbstractShiroFilter.java:449)
at org.apache.shiro.web.servlet.AbstractShiroFilter$1.call(AbstractShiroFilter.java:365)
at org.apache.shiro.subject.support.SubjectCallable.doCall(SubjectCallable.java:90)
at org.apache.shiro.subject.support.SubjectCallable.call(SubjectCallable.java:83)
at org.apache.shiro.subject.support.DelegatingSubject.execute(DelegatingSubject.java:387)
at org.apache.shiro.web.servlet.AbstractShiroFilter.doFilterInternal(AbstractShiroFilter.java:362)
at org.apache.shiro.web.servlet.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:125)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166)
at org.springframework.web.filter.RequestContextFilter.doFilterInternal(RequestContextFilter.java:99)
at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:107)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166)
at org.springframework.web.filter.HttpPutFormContentFilter.doFilterInternal(HttpPutFormContentFilter.java:108)
at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:107)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166)
at org.springframework.web.filter.HiddenHttpMethodFilter.doFilterInternal(HiddenHttpMethodFilter.java:81)
at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:107)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166)
at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:197)
at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:107)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:199)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:96)
at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:478)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:140)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:81)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:87)
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:342)
at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:803)
at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:66)
at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:868)
at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1459)
at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:49)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61)
at java.lang.Thread.run(Thread.java:748)
Caused by: org.apache.ibatis.exceptions.PersistenceException:
### Error querying database. Cause: java.lang.UnsupportedOperationException
### The error may exist in file [F:\idea\ros1.0\target\classes\mybatis\mapper\CourseMapper.xml]
### The error may involve com.ros.dao.CourseDao.getEnjoyCourseByUser
### The error occurred while handling results
### SQL: SELECT ros_course.id, ros_course.c_image AS image, ros_course.cname, ros_course.remark, ros_course.is_favorite AS isFavorite, ros_course.is_remark AS isRemark, ros_course.classify, ros_course.price, ros_course.visit, ros_course.update_time AS updateTime FROM ros_course WHERE id IN ( SELECT DISTINCT course_id FROM user_course_chartor WHERE user_id = ? ) and c_type=? LIMIT ?
### Cause: java.lang.UnsupportedOperationException
at org.apache.ibatis.exceptions.ExceptionFactory.wrapException(ExceptionFactory.java:30)
at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:150)
at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:141)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:498)
at org.mybatis.spring.SqlSessionTemplate$SqlSessionInterceptor.invoke(SqlSessionTemplate.java:433)
... 80 more
Caused by: java.lang.UnsupportedOperationException
at org.apache.ibatis.reflection.wrapper.CollectionWrapper.findProperty(CollectionWrapper.java:48)
at org.apache.ibatis.reflection.MetaObject.findProperty(MetaObject.java:85)
at org.apache.ibatis.executor.resultset.DefaultResultSetHandler.createAutomaticMappings(DefaultResultSetHandler.java:488)
at org.apache.ibatis.executor.resultset.DefaultResultSetHandler.applyAutomaticMappings(DefaultResultSetHandler.java:512)
at org.apache.ibatis.executor.resultset.DefaultResultSetHandler.getRowValue(DefaultResultSetHandler.java:397)
at org.apache.ibatis.executor.resultset.DefaultResultSetHandler.handleRowValuesForSimpleResultMap(DefaultResultSetHandler.java:351)
at org.apache.ibatis.executor.resultset.DefaultResultSetHandler.handleRowValues(DefaultResultSetHandler.java:326)
at org.apache.ibatis.executor.resultset.DefaultResultSetHandler.handleResultSet(DefaultResultSetHandler.java:299)
at org.apache.ibatis.executor.resultset.DefaultResultSetHandler.handleResultSets(DefaultResultSetHandler.java:192)
at org.apache.ibatis.executor.statement.PreparedStatementHandler.query(PreparedStatementHandler.java:64)
at org.apache.ibatis.executor.statement.RoutingStatementHandler.query(RoutingStatementHandler.java:79)
at org.apache.ibatis.executor.SimpleExecutor.doQuery(SimpleExecutor.java:63)
at org.apache.ibatis.executor.BaseExecutor.queryFromDatabase(BaseExecutor.java:324)
at org.apache.ibatis.executor.BaseExecutor.query(BaseExecutor.java:156)
at org.apache.ibatis.executor.CachingExecutor.query(CachingExecutor.java:109)
at com.github.pagehelper.PageInterceptor.intercept(PageInterceptor.java:136)
at org.apache.ibatis.plugin.Plugin.invoke(Plugin.java:61)
at com.sun.proxy.$Proxy111.query(Unknown Source)
at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:148)
... 86 more
经过排查可以发现是mybatis中的返回数据错误
在dao的函数定义如下:
在mapper中映射为
调整为:
ok,这个错误解决完成
我们今天的关于java.util.AbstractList.remove处的java.lang.UnsupportedOperationException和未知源的分享已经告一段落,感谢您的关注,如果您想了解更多关于android-Canvas中的java.lang.UnsupportedOperationException、Arrays.asList 数组转集合 java.lang.UnsupportedOperationException错误、Arrays.asList()报错java.lang.UnsupportedOperationException、Cause: java.lang.UnsupportedOperationException的相关信息,请在本站查询。
本文标签: