“java.lang.IllegalArgumentException:src == this”是啥意思?

Posted

技术标签:

【中文标题】“java.lang.IllegalArgumentException:src == this”是啥意思?【英文标题】:What does "java.lang.IllegalArgumentException: src == this" mean?“java.lang.IllegalArgumentException:src == this”是什么意思? 【发布时间】:2015-11-09 14:20:20 【问题描述】:

调用java.nio.ByteBuffer.put(ByteBuffer.java)时出现以下异常

11-09 22:11:55.631 E/androidRuntime( 1616): FATAL EXCEPTION: Thread-701
11-09 22:11:55.631 E/AndroidRuntime( 1616): Process: com.jerikc.demo, PID: 1616 
11-09 22:11:55.631 E/AndroidRuntime( 1616): java.lang.IllegalArgumentException: src == this 
11-09 22:11:55.631 E/AndroidRuntime( 1616):     at java.nio.ByteBuffer.put(ByteBuffer.java:749)

这是什么意思?如何解决?

【问题讨论】:

你能出示你的代码吗! 显然你有类似ByteBuffer buff = ByteBuffer.allocate(10); buff.put(buff);(或更多隐藏:ByteBuffer other = buff; buff.put(other);)的东西 更多信息会很好 【参考方案1】:

如果源缓冲区是这个缓冲区,你会看到这个消息

你把一个对象放在自己身上

见第 734 行http://www.jsourcecode.com/class.php?proj=jdk%5Copenjdk&jar=openjdk-6-b14&class=java.nio.ByteBuffer

【讨论】:

以上是关于“java.lang.IllegalArgumentException:src == this”是啥意思?的主要内容,如果未能解决你的问题,请参考以下文章

Android TV SearchFragment 错误 SpeechRecognizer

Android OpenGL 播放视频学习

JPA:关于在删除实体之前合并实体的问题