<< Chapter < Page | Chapter >> Page > |
Figure 6 - Question 11. |
---|
5 |
Design and write a class named A12Box which, when used in conjunction with the code shown in Listing 7 , will compile and run successfully producing the output shown in Figure 7 .
Listing 7 - Question 12. |
---|
/*File Q12.java
************************************************/public class Q12{public static void main(String[] args){A12Box<String,Integer>boxA =
new A12Box<>("abcde",new Integer(500));
System.out.println(boxA.get1());System.out.println(boxA.get2());A12Box<Integer,String>boxB =
new A12Box<>(new Integer(900),"fghijkl");
System.out.println(boxB.get1());System.out.println(boxB.get2());
}//end main}//end class Q12
//=============================================// |
Figure 7 - Question 12. |
---|
abcde
500900
fghijkl |
Given: When mixing legacy code with generic code, you may encounter messages similar to those shown in Figure 8 .
Figure 8 - Question 13. |
---|
Note: Example.java uses unchecked or unsafe operations.
Note: Recompile with -Xlint:unchecked for details. |
True or False: In such cases, the term "unchecked" means that the compiler does not have enough type information to perform all type checks necessary to ensure type safety.
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.
This image was also inserted for the purpose of inserting space between the questions and the answers.
True.
One possible solution is provided in Listing 8 below.
Listing 8 - Answer 12. |
---|
/*File A12Box.java
************************************************/public class A12Box<T1,T2>{
private T1 t1;private T2 t2;
public A12Box(T1 t1,T2 t2){this.t1 = t1;
this.t2 = t2;}//end constructorpublic T1 get1(){
return t1;}//end get1public T2 get2(){
return t2;}//end get2
}//end A12Box//=============================================// |
One possible solution is provided in Listing 9 below.
Listing 9 - Answer 11. |
---|
/*File A11Box.java
************************************************/public class A11Box<T>{
private T t;public A11Box(T t){
this.t = t;}//end constructorpublic T get(){
return t;}//end get
}//end A11Box//=============================================// |
True.
False. This program produces the error message shown in Figure 9 below.
Figure 9 - Answer 9. |
---|
Q09.java:8: error: illegal start of type
Box<>box = new Box<Integer>();
^1 error |
One possible solution is shown in Listing 10 below.
Listing 10 - Answer 8. |
---|
/*File A08Box.java
************************************************/public class A08Box<T>{
private T t;public void set(T t){
this.t = t;}//end setpublic T get(){
return t;}//end get
}//end A08Box//=============================================// |
False. This program produces the compiler errors shown in Figure 10 below.
Figure 10 - Answer 7. |
---|
Q07.java:8: error: type Box does not take parameters
Box<Integer>box = new Box<Integer>();
^Q07.java:8: error: type Box does not take parameters
Box<Integer>box = new Box<Integer>();
^2 errors |
True.
True.
True.
False. The correct statement is:
"Type parameters provide a way for you to re-use the same code with different inputs. The inputs to type parameters are types ."
True,
False. The correct statement is
"Generics add stability to your code by making more of your bugs detectable at compile time ."
This section contains a variety of miscellaneous information.
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-
Notification Switch
Would you like to follow the 'Object-oriented programming (oop) with java' conversation and receive update notifications?