Java Question strings in switch are not supported in -source 1.5

MarcoRome

Expert
Licensed User
Longtime User
I have this code:

B4X:
     /*
            Ogni mese è associato ad un carattere
        */
    public String calcolaMese() {
        switch (mese) {
            case "Gennaio":
                mese = "A";
                break;
            case "Febbraio":
                mese = "B";
                break;
            case "Marzo":
                mese = "C";
                break;
            case "Aprile":
                mese = "D";
                break;
            case "Maggio":
                mese = "E;";
                break;
            case "Giugno":
                mese = "H";
                break;
            case "Luglio":
                mese = "L";
                break;
            case "Agosto":
                mese = "M";
                break;
            case "Settembre":
                mese = "P";
                break;
            case "Ottobre":
                mese = "R";
                break;
            case "Novembre":
                mese = "S";
                break;
            case "Dicembre":
                mese = "T";
                break;
                        /*
                            Non arriverà mai a svolgere il Default
                        */
            default:
                throw new IllegalArgumentException();
        }
        return mese;
    }

when i compile with SLC i have this error:

B4X:
javac 1.8.0_05
C:\Users\smamici\Desktop\SimpleLibraryCompiler\CodiceFiscale\src\com\codicefiscale\CodiceFiscale.java:211: error: strings in switch are not supported in -source 1.5
        switch (mese) {
               ^
  (use -source 7 or higher to enable strings in switch)
Note: C:\Users\smamici\Desktop\SimpleLibraryCompiler\CodiceFiscale\src\com\codicefiscale\Lista.java uses unchecked or unsafe operations.
Note: Recompile with -Xlint:unchecked for details.
1 error
 
 
Error.

Any idea ??
Thank you
Marco
 

MarcoRome

Expert
Licensed User
Longtime User
I have this code:

B4X:
     /*
            Ogni mese è associato ad un carattere
        */
    public String calcolaMese() {
        switch (mese) {
            case "Gennaio":
                mese = "A";
                break;
            case "Febbraio":
                mese = "B";
                break;
            case "Marzo":
                mese = "C";
                break;
            case "Aprile":
                mese = "D";
                break;
            case "Maggio":
                mese = "E;";
                break;
            case "Giugno":
                mese = "H";
                break;
            case "Luglio":
                mese = "L";
                break;
            case "Agosto":
                mese = "M";
                break;
            case "Settembre":
                mese = "P";
                break;
            case "Ottobre":
                mese = "R";
                break;
            case "Novembre":
                mese = "S";
                break;
            case "Dicembre":
                mese = "T";
                break;
                        /*
                            Non arriverà mai a svolgere il Default
                        */
            default:
                throw new IllegalArgumentException();
        }
        return mese;
    }

when i compile with SLC i have this error:

B4X:
javac 1.8.0_05
C:\Users\smamici\Desktop\SimpleLibraryCompiler\CodiceFiscale\src\com\codicefiscale\CodiceFiscale.java:211: error: strings in switch are not supported in -source 1.5
        switch (mese) {
               ^
  (use -source 7 or higher to enable strings in switch)
Note: C:\Users\smamici\Desktop\SimpleLibraryCompiler\CodiceFiscale\src\com\codicefiscale\Lista.java uses unchecked or unsafe operations.
Note: Recompile with -Xlint:unchecked for details.
1 error
 
 
Error.

Any idea ??
Thank you
Marco

To resolve this in Eclipse:

B4X:
1.Right-click on your project(Package Explorer) and select "Android Tools -> Fix Project Properties"
2.Right-click on your project and select "Properties -> Java Compiler", check "Enable project specific settings" and select 1.7 or 1.8 from "Compiler compliance settings" select box.
3.then Rebuild your project (Project -> Clean)

But into SLC ?
 
Top