Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Java 7 switch statement with strings not working

According to The Java Tutorials, in Java SE 7 and later, you can use a String object in the switch statement's expression.

String s = ...
switch(s){
    //do stuff
}

But is this true? I've installed the JRE and added it to the build path of my Eclipse project, but I'm getting the following compile-time error:

Cannot switch on a value of type String. Only convertible int values or enum constants are permitted

Also, I think I've got it configured correctly since I was able to use its java.nio.file.Files class, as well as JLayer.

Any ideas?

like image 528
mre Avatar asked Jun 03 '11 19:06

mre


People also ask

Does Java switch statement work with strings?

Yes, we can use a switch statement with Strings in Java.

Does switch statement work with String?

String is the only non-integer type which can be used in switch statement.

Can I use && in switch?

The simple answer is No. You cant use it like that.


1 Answers

While it is true that the JDT team has implemented the Switch on String feature, the support for Java 7 won't be before Eclipse 3.7.1:

See bug 288548:

Due to late availability of JSR-292 (Invoke Dynamic) and JSR-334 (Project Coin) and due to the official release date (July 28, 2011) of Java 7 being after 3.7 ships we had to defer the Java 7 support to 3.7.1. It has not yet been decided whether this will be available as part of the 3.7.1 downloads or as separate feature update.

The work for the Java 7 features is currently in progress in the 'BETA_JAVA7' branch and we will deliver separate updates for the stable builds in order to provide early access to the Java 7 features for interested parties.

like image 59
VonC Avatar answered Sep 21 '22 03:09

VonC