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?
Yes, we can use a switch statement with Strings in Java.
String is the only non-integer type which can be used in switch statement.
The simple answer is No. You cant use it like that.
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.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With