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 "Java10/Examples"

 
(7 intermediate revisions by one other user not shown)
Line 1: Line 1:
ALPHA QUALITY NOW - EXPECTED TO BE COMPLETE BY : 1ST APRIL 2018
+
 
  
 
This is an informal page listing examples of features that are implemented by the [https://marketplace.eclipse.org/content/java-10-support-oxygen Java 10 Support for Oxygen]. You are welcome to try out these examples. If you find bugs, please file a bug after checking for a duplicate entry [https://bugs.eclipse.org/bugs/buglist.cgi?cmdtype=dorem&list_id=17341573&namedcmd=J10.Open&remaction=run&sharer_id=152344 here].
 
This is an informal page listing examples of features that are implemented by the [https://marketplace.eclipse.org/content/java-10-support-oxygen Java 10 Support for Oxygen]. You are welcome to try out these examples. If you find bugs, please file a bug after checking for a duplicate entry [https://bugs.eclipse.org/bugs/buglist.cgi?cmdtype=dorem&list_id=17341573&namedcmd=J10.Open&remaction=run&sharer_id=152344 here].
Line 13: Line 13:
 
|-
 
|-
 
! scope="row" | Add Java 10 JRE
 
! scope="row" | Add Java 10 JRE
| Use Eclipse Preferences -> Java -> Installed JREs -> Add <br>
+
| Use Window -> Preferences-> Java -> Installed JREs -> Add... <br>
 +
<br>
 
[[File:FileAddJ10.jpg]]
 
[[File:FileAddJ10.jpg]]
 +
<br>
 +
[note: Eclipse -> Preferences in Mac / Window -> Preferences in Windows]
 
| Java 10 JRE recognized as a valid JRE
 
| Java 10 JRE recognized as a valid JRE
 
|-
 
|-
 
! scope="row" | Project JRE
 
! scope="row" | Project JRE
| In Package Explorer Use Project Context Menu and add Java 10 JRE  || JRE specific (eg Object) gets resolved in the project.
+
| In Package Explorer Use project's context menu and add Java 10 JRE  || JRE specific (eg Object) gets resolved in the project.
 
|-
 
|-
 
! scope="row" | Package Explorer
 
! scope="row" | Package Explorer
Line 61: Line 64:
 
<br>
 
<br>
 
[[File:var.compile.jpg]]
 
[[File:var.compile.jpg]]
| code compiles
+
| Code compiles
 
|-
 
|-
 
! scope="row" | Compiler Error Cases
 
! scope="row" | Compiler Error Cases
Line 76: Line 79:
 
}
 
}
 
</source>
 
</source>
| compiler errors are shown
+
| Compiler errors are shown
 
|-
 
|-
 
! colspan="3" | Essential Utilities: Code Completion, Hover and Quick Fix.
 
! colspan="3" | Essential Utilities: Code Completion, Hover and Quick Fix.
Line 96: Line 99:
 
</source>
 
</source>
 
[[File:var.complete.jpg]]
 
[[File:var.complete.jpg]]
| completes var since the place is appropriate
+
| Completes var since the place is appropriate
 
|-
 
|-
 
! scope="row" | Negative Case - no completion
 
! scope="row" | Negative Case - no completion
Line 110: Line 113:
 
<br>
 
<br>
 
[[File:var.nocomplete.jpg]]
 
[[File:var.nocomplete.jpg]]
| does not offer 'var' as completion
+
| Does not offer 'var' as completion
 +
|-
 
! scope="row" | Hover  
 
! scope="row" | Hover  
 
|  
 
|  
 +
Hover over var to see the javadoc of the associated type (in this case : String) being displayed.
 
<br>
 
<br>
 
<source lang="java">
 
<source lang="java">
Line 126: Line 131:
 
<br>
 
<br>
 
[[File:var.hover.jpg]]
 
[[File:var.hover.jpg]]
| shows javadoc of the type associated with var
+
| Shows javadoc of the type associated with var
 +
|-
 +
! scope="row" | Quick Assist : var to type
 +
|
 +
<br>
 +
<source lang="java">
 +
package packvar;
 +
public class VarComplete {
 +
  public static void main(String[] args) {
 +
String s = new String("hello");
 +
var x = s;
 +
System.out.println(x);
 +
  }
 +
}
 +
</source>
 +
<br>
 +
[[File:var.vartotype.jpg]]
 +
| Provides option to change from var to type
 +
|-
 +
! scope="row" | Quick Assist: type to var
 +
|
 +
<br>
 +
<source lang="java">
 +
package packvar;
 +
public class VarComplete {
 +
  public static void main(String[] args) {
 +
String s = new String("hello");
 +
String x = s;
 +
System.out.println(x);
 +
  }
 +
}
 +
</source>
 +
<br>
 +
[[File:var.typetovar.jpg]]
 +
| Provides option to change from type to var
 
|-
 
|-
 
! colspan="3" | More to come in Java 11 !
 
! colspan="3" | More to come in Java 11 !
 
|}
 
|}

Latest revision as of 00:31, 28 March 2018


This is an informal page listing examples of features that are implemented by the Java 10 Support for Oxygen. 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 10 JRE Support
Add Java 10 JRE Use Window -> Preferences-> Java -> Installed JREs -> Add...


FileAddJ10.jpg
[note: Eclipse -> Preferences in Mac / Window -> Preferences in Windows]

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



J10.compliance.jpg

No compiler errors
Basic Necessity : Compilation and Error Reporting
Positive Compilation Use the following code:
package packvar;
 
import java.util.ArrayList;
import java.util.List;
 
public class VarUsage {
	public static void main(String[] args) {
		String s = new String("Hello World");
 
		var x = s; // var allowed in the variable declaration
		System.out.println(x);
 
		List<String> l = new ArrayList<>();
		l.add("List.Hello");
		for (var lx : l) { // var allowed in enhanced for loop
			System.out.println(lx);
		}
	}
}



Var.compile.jpg

Code compiles
Compiler Error Cases
package packvar;
 
public class VarError {
  public static void main(String[] args) {
    String s = new String("Hello");
    var x; // compiler error: Cannot use 'var' on variable without  initializer	
    var y = null; // compiler error: Cannot infer type for local variable initialized to 'null'	
  }
}
Compiler errors are shown
Essential Utilities: Code Completion, Hover and Quick Fix.
Basic context based var completion



package packvar;
 
public class VarComplete {
  public static void main(String[] args) {
	String s = new String("hello");
 
	va // try completing here
}
}

Var.complete.jpg

Completes var since the place is appropriate
Negative Case - no completion


package packvar;
 
public class VarComplete {
	va // complete here - 'var' not offered as a completion candidate
}


Var.nocomplete.jpg

Does not offer 'var' as completion
Hover

Hover over var to see the javadoc of the associated type (in this case : String) being displayed.

package packvar;
public class VarComplete {	
  public static void main(String[] args) {
	String s = new String("hello");
	var x = s;
	System.out.println(x);
  }
}


Var.hover.jpg

Shows javadoc of the type associated with var
Quick Assist : var to type


package packvar;
public class VarComplete {	
  public static void main(String[] args) {
	String s = new String("hello");
	var x = s;
	System.out.println(x);
  }
}


Var.vartotype.jpg

Provides option to change from var to type
Quick Assist: type to var


package packvar;
public class VarComplete {	
  public static void main(String[] args) {
	String s = new String("hello");
	String x = s;
	System.out.println(x);
  }
}


Var.typetovar.jpg

Provides option to change from type to var
More to come in Java 11 !

Back to the top