Book Image

Java 9 with JShell

By : Gaston C. Hillar
Book Image

Java 9 with JShell

By: Gaston C. Hillar

Overview of this book

The release of Java 9 has brought many subtle and not-so-subtle changes to the way in which Java programmers approach their code. The most important ones are definitely the availability of a REPL, known as JShell, which will make experiments and prototyping much more straightforward than the old IDE-based project-led approach. Another, more subtle change can be seen in the module system, which will lead to more modularized, maintainable code. The techniques to take full advantage of object-oriented code, functional programming and the new modularity features in Java 9 form the main subjects of this book. Each chapter will add to the full picture of Java 9 programming starting out with classes and instances and ending with generics and modularity in Java.
Table of Contents (23 chapters)
Java 9 with JShell
Credits
About the Author
Acknowledgement
About the Reviewer
www.PacktPub.com
Customer Feedback
Preface
Index

Working with instances of the immutable String class


The String class, specifically the java.lang.String class, represents character strings and is an immutable class that generates non-mutating objects. Hence, the methods provided by the String class do not mutate the object.

For example, the following lines create a new String, that is, a new instance of the java.lang.String class named welcomeMessage with an initial value of "Welcome to Virtual Creatures Land". Then, the code makes many calls to System.out.println with welcomeMessage followed by a different method as an argument. First, we call the toUpperCase method to generate a new String with all the characters converted to uppercase. Then, we call the toLowerCase method to generate a new String with all the characters converted to lowercase. Then, we call the replaceAll method to generate a new String in which the spaces were replaced by a hyphen (-). Finally, we call the System.out.println method again with welcomeMessage as an argument...