Reputation: 2598
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)
Sometime in log output after a class name there is a Dollor symbol ($) in the message what does that mean? I thought it's the method name or the variable name in the class that caused the exception but in this case it doesn't make sense (SessionsFragment$4 it can't be the name of a method or variable). so what is it ?
Upvotes: 7
Views: 3704
Reputation: 178243
The $
is a separator that indicates that there is a nested class HashIterator
inside the HashMap
class, and that there is an anonymous inner class (the fourth one, it looks like) inside the SessionsFragment
class.
This site explains the $
separator.
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)
The nested classes are distinguished from the higher-level nested classes and from the top-level class by using the dollar sign character ($). So, technically, the "simple" name of the second nested class is StackTrace$FirstNested$SecondNested.
Upvotes: 10