Hi, I have made other changes to the Strings class I proposed in my previous messages.
The changes are: * Added the new methods compareTo and compareToIgnoreCase * Changed WhiteSpace for Whitespace You can see the new code here: https://github.com/Aliuken/Java-Strings/blob/main/Strings.java With those changes, the annotations suggested in the previous message should change to: - @NonNullNorWhitespace - @NonNullNorWhitespaceElse(defaultValue) - @NonNullNorWhitespaceElseGet(class::supplierMethod) Regards, Alberto Otero Rodríguez. ________________________________ De: Alberto Otero Rodríguez <albest...@hotmail.com> Enviado: miércoles, 19 de mayo de 2021 11:36 Para: core-libs-dev@openjdk.java.net <core-libs-dev@openjdk.java.net> Asunto: RE: New java.util.Strings class Hi, I have made some changes to the Strings class I proposed in my previous message. The changes are: * Use str.isEmpty() instead of EMPTY_STRING.equals(str) * Create methods using str.strip() to check a String is not Whitespace You can see the new code here: https://github.com/Aliuken/Java-Strings/blob/main/Strings.java With those changes, the following annotations could also be created for method arguments and return types: - @NonNullNorWhiteSpace - @NonNullNorWhiteSpaceElse(defaultValue) - @NonNullNorWhiteSpaceElseGet(class::supplierMethod) I didn't have any response to the previous message. Please, take this one in consideration. Regards, Alberto Otero Rodríguez. ________________________________ De: Alberto Otero Rodríguez Enviado: lunes, 17 de mayo de 2021 14:58 Para: core-libs-dev@openjdk.java.net <core-libs-dev@openjdk.java.net> Asunto: New java.util.Strings class Hi, members of the core-libs developers of OpenJDK. I think Java needs a Strings class similar to the java.util.Objects class of Java 16 to be used in method arguments, return types and Stream filters. I have coded it myself here based on the Objects implementation of Java 16 (please have a look): https://github.com/Aliuken/Java-Strings/blob/main/Strings.java In fact, I think it would be useful also adding annotations for method arguments and return types such as: - @NonNull - @NonNullElse(defaultValue) - @NonNullElseGet(class::supplierMethod) - @NonNullNorEmpty - @NonNullNorEmptyElse(defaultValue) - @NonNullNorEmptyElseGet(class::supplierMethod) With that kind of annotations, you could assume thinks like: - an argument or return type cannot have value null, but an Exception - an argument or return type cannot have value null, but a default value What do you think? Waiting for your response. PS: I am sending this email repeated. I have sended it yesterday with my other email account (alber8...@gmail.com), but I wasn't a member of this mailing list. Now I have become a member with this other email account. Regards, Alberto Otero Rodríguez.