Skip Top Navigation Bar

Mutable vs Immutable Data

Mutable Data

Some examples of mutable data:

Immutable Data

Now, let's discuss immutable data. There are times we would not want data to change during the running of a program. When data that isn't supposed to change is stored in an immutable data type, it makes the data safer.

Some examples of immutable data:

Immutable String Objects

There are classes where the data is immutable. For example, the String class. When you create a String, it is immutable. Once we start working with String data more we will see that we are unable to change the value of a String object. We can assign a String variable to a new String that is an adapation of the original value.

For example, consider a database of students with information about a student: their name, address, parent contact information, course history, and grades. For this example, let's say that the name variable holds the student's first and last name. Consider this example:

String name = "Jane Johnson";

If this student would need their name changed to something else, there is no way to modify the current value "Jane Johnson" to be this new value. We would need to assign name this new value. For example, maybe the student has decided to include their middle name as well, they would need to assign name the new value, such as:

String name = "Jane Java Johnson";

As a teacher, perhaps you want to print name tags with just the student's first name. Since String data is immutable, we are not able to modify "Jane Johnson" to be "Jane". We will be able to access a part of a String object; however in doing so, we create a new String value that is that part of the String. We would then assign this value to the varaible.

Resources

Next Learn Tutorial

Learn: Introduction to Records