CodeGym /Java Course /Java Multithreading /I list all of the classes associated with strings, and ex...

I list all of the classes associated with strings, and explain what they and all their methods do

Java Multithreading
Level 2 , Lesson 2
Available

"Hi, Amigo!"

"But, Bilaabo, you've already said hello."

"Really? Well, I still like starting each lesson with that phrase."

"Today we're going to study the String class in depth."

"But, I already know everything about it. I even know that the String class is immutable."

"The String class has 46 methods. How many of them do you know?"

"No more than ten. Actually, probably about 5 max."

"Then listen up."

"Java's creators noticed that most strings in programs aren't intended to be modified, but sometimes they get modified anyway. It's very annoying when you create a String, save something important in it, pass it to someone else's method, and it gets changed. To keep this from happening, they decided to create both mutable and immutable Strings."

"The String class is for immutable strings, and the StringBuilder class is for mutable ones. Objects of these classes are easily converted to the other type. In most cases, Java developers simply need String, which proves that Java's creators were right."

"So if I need a String, I use the String class. And if I need a mutable String, then I use the StringBuilder class?"

"Yes. Actually, there is another class called StringBuffer. It's a copy of StringBuilder, except all of its methods are declared as synchronized, so that the object can be accessed from different threads of the program."

"And what about this example? Doesn't the string get changed here?"

String s = "cat";
s = s + "-" + s;

"No. There are two String objects here: «cat» and «cat-cat». The second is created using the first, but the first object doesn't change. In reality, things are far more interesting here. Here's the code the compiler generates when it compiles your example:"

String s = "cat";
StrinsBuilder s2 = new StringBuilder(s);
s2.append("-");
s2.append(s);
s = s2.toString();

"So, StringBuilder is almost always used to create new Strings, but sometimes the compiler simply does all of the work for you. But your version is simpler, don't you think?"

"Yeah, it's awesome that Java has such an advanced compiler."

"Well, now let's walk through the String class's methods:"

1) How do I find a String's length?

"The length method returns a String's length (the number of characters in it)."

Method(s) Example(s)
int length();
String s = "Good news, everyone!";
int n = s.length();
int n = "Good news, everyone!".length();

2) How do I get a character from a String?

"The charAt method returns a character from a String by its index. The character indices start at 0.

Method(s) Example(s)
char charAt(int index)
String s = "Good news, everyone!";
char n = s.charAt(5);
char n = "Good news, everyone!".charAt(5);

3) How do I get characters from a String?

How do I get characters from a String?

Method(s) Example(s)
char[]toCharArray ()
String s = "Good news, everyone!";
for(char c: s.toCharArray())
{
System.out.println(c);
}

4) How do I compare Strings?

"The equals method checks if the Strings match, and the equalsIgnoreCase method checks to see if the Strings match when case is ignored.

Method(s) Method(s)
boolean equals(Object o)
String s = "cat";
boolean test1 = s.equals("cat");//true
boolean test2 = s.equals("Cat");//false
boolean test3 = s.equals("c"+"a"+"t");//true
boolean equalsIgnoreCase(String str)
String s = "cat";
boolean test1 = s.equalsIgnoreCase("cat");//true
boolean test2 = s.equalsIgnoreCase("Cat");//true
boolean test3 = s.equalsIgnoreCase("cAT");//true

5) How do I make all of the letters in a String uppercase or lowercase?

"The toUpperCase method returns a copy of the String with all uppercase letters."

"The toLowerCase method returns a copy of the String with all lowercase letters."

Method(s) Example(s)
String toUpperCase()
String s = " Good news, everyone!  ";
s = s.toUpperCase();

Result:

s == "GOOD NEWS, EVERYONE!";
String toLowerCase()
String s = "Good news, everyone!";
s = s.toLowerCase();

Result:

s == "good news, everyone!";

6) How do I remove spaces at the beginning and end of a String?

"The trim method returns a copy of a String with no whitespace characters at the beginning and end."

Method(s) Example(s)
String trim()
String s = "   Good news, everyone!   ";
s = s.trim();

Result:

s == "Good news, everyone!";
Comments (5)
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION
Fadi Alsaidi Level 34, Carrollton, TX, USA
9 August 2020
I feel like they should add the split() & indexof() methods to the list at a minimum
有梦想的咸鱼 Level 30, Hangzhou, China
21 June 2023
subString() is important too
BlueJavaBanana Level 37
4 July 2020
Beautifully easy lesson. If only all were so quick and simple to understand! :)
Tian Pro Level 23, Cape Town, South Africa
11 March 2020
I've always felt this was somewhat like Futurama, and then the "Good news, everyone!"; confirmed it haha!
Seb Level 41, Crefeld, Germany
15 January 2020
Nice recap. Thanks Bilaabo.