What does $ symbol mean in Java/Android API calls?

167 Views Asked by At

I am collecting API calls from the source code of Android apps using Androguard. Some of the retrieved API calls have a $ symbol in their call description, such as: Ljava/util/Locale$LanguageRange/<init> or Lcom/google/android/gms/vision/barcode/BarcodeDetector$Builder/setBarcodeFormats, whereas the vast majority of them do not have this dollar symbol included. For instance, Lcom/google/android/gms/vision/Tracker/<init>.

The $ symbol is to denote variable references in some programming but it is strange to find it in an API call reference. How can I interpret it here? What does the $ symbol mean in this context of API call tracing?

1

There are 1 best solutions below

2
On

In this case it represents a nested class.

So for the example of BarcodeDetector$Builder, it is referring to the Builder class which is a class within BarcodeDetector.