Skip to main content

Notice: this Wiki will be going read only early in 2024 and edits will no longer be possible. Please see: https://gitlab.eclipse.org/eclipsefdn/helpdesk/-/wikis/Wiki-shutdown-plan for the plan.

Jump to: navigation, search

Difference between revisions of "Java12/Examples"

Line 37: Line 37:
 
|-
 
|-
 
! colspan="3" | Basic Necessity : Compilation and Error Reporting
 
! colspan="3" | Basic Necessity : Compilation and Error Reporting
 +
|-
 +
! scope="row" | Positive Compilation 1 (Switch Statement with multi-label case with colon)
 +
| Use the following code:
 +
<source lang="java">
 +
public class X {
 +
    public void foo(int i) {
 +
    switch (i) {
 +
    case 0, 1, 2: System.out.println("Hello");
 +
    default :  System.out.println("World");
 +
    }
 +
    }
 +
    public static void main(String[] argv) {
 +
        new X().foo(2);
 +
    }
 +
}</source>
 +
 +
<br>
 +
<br>
 +
[[File:switch-statement1.compile.png]]
 +
| Code compiles (with a preview warning) and while running prints both "Hello" "World"
 
|-
 
|-
 
! scope="row" | Positive Compilation
 
! scope="row" | Positive Compilation

Revision as of 01:25, 19 March 2019

= NOTE: THE PAGE IS UNDER CONSTRUCTION

This is an informal page listing examples of features that are implemented by the Java 12 Support. You are welcome to try out these examples. If you find bugs, please file a bug after checking for a duplicate entry here


Feature / Steps Expected Result
The Pre-requisite: Java 12 JRE Support
Add Java 12 JRE Use Window -> Preferences-> Java -> Installed JREs -> Add...


FileAddJ12.png
[note: Eclipse -> Preferences in Mac / Window -> Preferences in Windows]

Java 12 JRE recognized as a valid JRE
Project JRE In Package Explorer Use project's context menu and add Java 12 JRE JRE specific (eg Object) gets resolved in the project.
Package Explorer Go to Package Explorer and expand the Java 12 JRE Modules (eg java.base etc) are listed in the package explorer view
The First Step: Java 12 Compliance
Set Project Compliance in Package Explorer Context Menu of Project -> Properties -> Set project-specific, drop down to 12



J12.compliance.png

12 is shown in the drop down list.

A checkbox to enable preview features is available on the preference page.

Basic Necessity : Compilation and Error Reporting
Positive Compilation 1 (Switch Statement with multi-label case with colon) Use the following code:
public class X {
    public void foo(int i) {
    	switch (i) {
    		case 0, 1, 2: System.out.println("Hello");
    		default :  System.out.println("World");
    	}
    }
    public static void main(String[] argv) {
        new X().foo(2);
    }
}



Switch-statement1.compile.png

Code compiles (with a preview warning) and while running prints both "Hello" "World"
Positive Compilation Use the following code:
package j12.preview;
 
public class Test {
 
	enum Day {
		MON, TUE, WED, THUR, FRI, SAT, SUN
	};
 
	@SuppressWarnings("preview")
	public String getDay_1 (Day today) {
		String day = switch(today) {
			case MON, TUE, WED, THUR, FRI -> "Weekday";
			case SAT, SUN -> "Weekend";
		};
		return day;
	}
}



Switch-exp.compile.png

Code compiles
Compiler error Case
package j12.preview;
 
public class Test {
 
	enum Day {
		MON, TUE, WED, THUR, FRI, SAT, SUN
	};
 
	public String getDay_1 (Day today) {
		String day = switch(today) {
			case MON, TUE, WED, THUR, FRI: break "Weekday";
			case SAT, SUN: break "Weekend";
		};
		return day;
	}
}



Enable-preview.error.png

Compiler error is shown for preview feature.

Quick fix is available to enable the preview feature in the preferences.

Compiler Warning Case
package j12.preview;
 
public class Test {
 
	enum Day {
		MON, TUE, WED, THUR, FRI, SAT, SUN
	};
 
	public String getDay_1 (Day today) {
		String day = switch(today) {
			case MON, TUE, WED, THUR, FRI: break "Weekday";
			case SAT, SUN: break "Weekend";
		};
		return day;
	}
}



Switch.preview.warning.compile.png

Compiler warning is shown for preview feature
Compiler Error Case
package j12.preview;
 
public class Test {
 
	enum Day {
		MON, TUE, WED, THUR, FRI, SAT, SUN
	};
 
	@SuppressWarnings("preview")
	public String getDay_1 (Day today) {
		String day = switch(today) {
			case MON : break "Weekday";
			case SAT, SUN : break "Weekend";
		};
		return day;
	}
}

Switch.cover-all-cases.error.png

Compiler error is shown

Back to the top