java.util.ConcurrentModificationException: null
java.util.HashMap$HashIterator(HashMap.java:806)
com.cimba.gsr.fragments.SessionsFragment(SessionsFragment.java:233)
com.cimba.gsr.fragments.SessionsFragment$4(SessionsFragment.java:201)
有时在类名后的日志输出中,邮件中有一个Dollor符号($)是什么意思?我认为它是导致异常的类中的方法名称或变量名称,但在这种情况下它没有意义(SessionsFragment $ 4它不能是方法或变量的名称)。 那是什么?
答案 0 :(得分:3)
$
是一个分隔符,表示HashIterator
类中有一个嵌套类HashMap
,并且有一个匿名内部类(第四个,它看起来像)SessionsFragment
类内部。
This site explains $
分隔符。
Filename: StackTrace.java Line number: 267 Package name: boo.hoo Full class name: boo.hoo.StackTrace$FirstNested$SecondNested Simple class name: StackTrace$FirstNested$SecondNested Unmunged class name: StackTrace.FirstNested.SecondNested Direct class name: SecondNested Method name: <init> Native method?: false toString(): boo.hoo.StackTrace$FirstNested$SecondNested.<init>(StackTrace.java:267)
通过使用美元符号字符($),嵌套类与更高级别的嵌套类和顶级类不同。所以,从技术上讲,&#34;简单&#34;第二个嵌套类的名称是StackTrace $ FirstNested $ SecondNested。