GVKun编程网logo

java.util.AbstractList.remove处的java.lang.UnsupportedOperationException(未知源)(java在源文件中未声明类)

7

在这篇文章中,我们将为您详细介绍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在源文件中未声明类)

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

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错误

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()报错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

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的相关信息,请在本站查询。

本文标签: