java – What does 'ICU' stand for in Android SDK?-ThrowExceptions

Exception or error:

Have seen new packages in Android SDK docs. All of them are available in API level 24 which corresponds to Android Nougat and seem to replace the ‘‘ packages by ‘‘. For example:

The java.text.DateFormat package is duplicated in and so on

Also, in some icu classes appears the following annotation:

[icu enhancement] ICU’s replacement for (class name). Methods, fields, and other functionality specific to ICU are labeled ‘[icu]’.

So, what does ICU stand for? And what are differences between java and packages? Will java packages be deprecated soon?

How to solve:

This explains the notion of icu pretty well. They’ve basically introduced this for the later API’s to “reduce your APK footprint”. I don’t think that the ICU is a replacement for the java.*.* libraries but is just an alternative to use. There is also one interesting thing on that page:

As the ICU team deprecates APIs in the future, Android will also mark them as deprecated but will continue to include them.

Here is also a little list of features about ICU4J which is quite helpful.


ICU stands for International Components for Unicode

Leave a Reply

Your email address will not be published. Required fields are marked *