// Tutorial //

Java switch case String

Published on August 3, 2022
Default avatar
By Pankaj
Developer and author at DigitalOcean.
Java switch case String

While we believe that this content benefits our community, we have not yet thoroughly reviewed it. If you have any suggestions for improvements, please let us know by clicking the “report an issue“ button at the bottom of the tutorial.

Today we will look into Java Switch Case String Example. Being a java programmer, I know the importance of String and how many times it’s used for conditional flow. Whether you have a simple method that behaves differently for different input String or a Servlet controller class to check the incoming action and process it accordingly, we use String and compare it to determine the flow.

Java Switch Case

java switch case, java switch string Java switch case is a neat way to code for conditional flow, just like if-else conditions. Before Java 7, the only means to achieve string based conditional flow was using if-else conditions. But Java 7 has improved the switch case to support String also.

Java switch case String Example

Here I am providing a java program that shows the use of String in java switch case statements. For comparison, I am also providing another method which does the same conditional flow using if-else conditions. SwitchStringExample.java

package com.journaldev.util;

public class SwitchStringExample {

	public static void main(String[] args) {
		printColorUsingSwitch("red");
		printColorUsingIf("red");
		// switch case string is case sensitive
		printColorUsingSwitch("RED");
		printColorUsingSwitch(null);
	}

	private static void printColorUsingIf(String color) {
		if (color.equals("blue")) {
			System.out.println("BLUE");
		} else if (color.equals("red")) {
			System.out.println("RED");
		} else {
			System.out.println("INVALID COLOR CODE");
		}
	}

	private static void printColorUsingSwitch(String color) {
		switch (color) {
		case "blue":
			System.out.println("BLUE");
			break;
		case "red":
			System.out.println("RED");
			break;
		default:
			System.out.println("INVALID COLOR CODE");
		}
	}

}

Here is the output of the above program.

RED
RED
INVALID COLOR CODE
Exception in thread "main"
java.lang.NullPointerException
	at com.journaldev.util.SwitchStringExample.printColorUsingSwitch(SwitchStringExample.java:24)
	at com.journaldev.util.SwitchStringExample.main(SwitchStringExample.java:10)

Keys points to know for java switch case String are:

  1. Java switch case String make code more readable by removing the multiple if-else-if chained conditions.
  2. Java switch case String is case sensitive, the output of example confirms it.
  3. Java Switch case uses String.equals() method to compare the passed value with case values, so make sure to add a NULL check to avoid NullPointerException.
  4. According to Java 7 documentation for Strings in Switch, java compiler generates more efficient byte code for String in Switch statement than chained if-else-if statements.
  5. Make sure to use java switch case String only when you know that it will be used with Java 7 else it will throw Exception.

Thats all for Java switch case String example. Tip: We can use java ternary operator rather than switch to write smaller code.


Want to learn more? Join the DigitalOcean Community!

Join our DigitalOcean community of over a million developers for free! Get help and share knowledge in our Questions & Answers section, find tutorials and tools that will help you grow as a developer and scale your project or business, and subscribe to topics of interest.

Sign up
About the authors
Default avatar
Pankaj

author

Developer and author at DigitalOcean.

Still looking for an answer?

Was this helpful?

How can we apply null check in switch case

- Srishti

    why switch was not supported in earlier version of java 7 ?

    - Vijay

      Hi Pankaj, The case sensitivity will not work, when the switch case label is changed as below (from lowercase red to RED, on supplying printColorUsingSwitch(“red”) private static void printColorUsingSwitch(String color) { switch (color) { case “blue”: System.out.println(“BLUE”); break; case “RED”: System.out.println(“RED”); break; default: System.out.println(“INVALID COLOR CODE”); } }

      - Suresh

        can anyone explain following? “java compiler generates more efficient byte code for String in Switch statement than chained if-else-if statements.”

        - alok

          very nice

          - aparna