<< Chapter < Page Chapter >> Page >
Figure 6 - Question 6.
abcde,500 900,fghijkl

Answer 6

Figures

Listings

What is the meaning of the following two images?

These images were inserted here simply to insert some space between the questions and the answers to keep them from being visible on the screen at thesame time.

Spacer image of a rabbit and a penguin.

This image was also inserted for the purpose of inserting space between the questions and the answers.

Spacer image of a penguin and some houses.

Answers

Answer 6

False. This program illustrates incorrect use of the diamond for type inference and will not compile.In Java SE 7 and later, you can replace the type arguments required to invoke the constructor of ageneric class with an empty set of matching angle brackets as long as the compiler can determine,or infer, the type arguments from the context. This pair of angle brackets, is informally calledthe diamond. However, in this case, the diamond is in the wrong location.This results in the errors shown in Figure 7 .

Figure 7 - Answer 6.
Q06.java:18: error: illegal start of type Foo<>varA = ^Q06.java:23: error: illegal start of type Foo<>varB = ^2 errors

Back to Question 6

Answer 5

True. This program illustrates type inference. In Java SE 7 and later, you can replace the typearguments required to invoke the constructor of a generic class with an empty set of matching anglebrackets as long as the compiler can determine, or infer, the type arguments from the context.This pair of angle brackets, is informally called the diamond.

Note that the Foo constructor requires two parameters and the types of those parameters arespecified inside the angle brackets.

Also note that the order of the types of the two parametersis swapped between the instantiation of the first and second objects. The program also illustratesautoboxing.

Back to Question 5

Answer 4

True. This program illustrates generics without any obvious type inference. This is the style ofprogramming that would have been used prior to the release of Java SE 7.

Note that the Foo constructor requires two parameters and thetypes of those parameters are specified inside the angle brackets.

Also note that the order of the types of the two parameters is swappedbetween the instantiation of the first and second objects. The program also illustrates autoboxing.

Back to Question 4

Answer 3

False. This program illustrates incorrect use of the diamond for type inference and will not compile.In Java SE 7 and later, you can replace the type arguments required to invoke the constructor of ageneric class with an empty set of matching angle brackets as long as the compiler can determine,or infer, the type arguments from the context. This pair of angle brackets, is informally calledthe diamond. However, in this case, the diamond is in the wrong location.Therefore, the program produces the error shown in Figure 8 .

Figure 8 - Answer 3.
Q03.java:26: error: illegal start of type Foo<>var = new Foo<Window>(); ^1 error

Back to Question 3

Answer 2

True. This program illustrates bounded parameters along with type inference. In Java SE 7 and later, youcan replace the type arguments required to invoke the constructor of a generic class with an emptyset of matching angle brackets as long as the compiler can determine, or infer, the typearguments from the context. This pair of angle brackets, is informally called the diamond.

Back to Question 2

Answer 1

True. This program illustrates generics with bounded parameters but without any obvious typeinference. This is the style of programming that would have been used prior to the release ofJava SE 7.

Back to Question 1

Miscellaneous

This section contains a variety of miscellaneous information.

Housekeeping material
  • Module name: Java4260r: Review of Type Inference
  • File: Java4260r.htm
  • Published: 10/22/13
Disclaimers:

Financial : Although the Connexions site makes it possible for you to download aPDF file for this module at no charge, and also makes it possible for you to purchase a pre-printed version of the PDF file, youshould be aware that some of the HTML elements in this module may not translate well into PDF.

I also want you to know that, I receive no financial compensation from the Connexions website even if you purchase the PDF version ofthe module.

In the past, unknown individuals have copied my modules from cnx.org, converted them to Kindle books, and placed them for sale onAmazon.com showing me as the author. I neither receive compensation for those sales nor do I know who does receive compensation. If youpurchase such a book, please be aware that it is a copy of a module that is freely available on cnx.org and that it was made andpublished without my prior knowledge.

Affiliation : I am a professor of Computer Information Technology at Austin Community College in Austin, TX.

-end-

Get Jobilize Job Search Mobile App in your pocket Now!

Get it on Google Play Download on the App Store Now




Source:  OpenStax, Object-oriented programming (oop) with java. OpenStax CNX. Jun 29, 2016 Download for free at https://legacy.cnx.org/content/col11441/1.201
Google Play and the Google Play logo are trademarks of Google Inc.

Notification Switch

Would you like to follow the 'Object-oriented programming (oop) with java' conversation and receive update notifications?

Ask