User Tools

Site Tools


Problem constructing authldap
test_grila_ian2015
Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revision Previous revision
Next revision
Previous revision
Last revision Both sides next revision
test_grila_ian2015 [2015/01/21 00:44]
Adriana Draghici [Clase interne]
test_grila_ian2015 [2015/01/21 00:51]
Adriana Draghici [Excepții]
Line 326: Line 326:
 == Colecții și genericitate == == Colecții și genericitate ==
  
-**12. Dacă dorim să stocăm un șir de elemente fără duplicate într-o colecție fără să ne intereseze ordinea elementelor sau sortarea lor, clasa cea mai potrivită este**+**13. Dacă dorim să stocăm un șir de elemente fără duplicate într-o colecție fără să ne intereseze ordinea elementelor sau sortarea lor, clasa cea mai potrivită este**
  
   * Vector   * Vector
Line 337: Line 337:
  
  
-**4. Ce se întâmplă la rularea următorului cod:**+**14. Ce se întâmplă la rularea următorului cod:**
  
 <code java> <code java>
Line 359: Line 359:
  
  
-**19. Care dintre următoarele variante este corectă (compilează)?​**+**15. Care dintre următoarele variante este corectă (compilează)?​**
  
   * ''​ArrayList <​Person>​mylist = new ArrayList<​Student>​();''​   * ''​ArrayList <​Person>​mylist = new ArrayList<​Student>​();''​
Line 366: Line 366:
   * ''​ArrayList<​Student>​mylist = new ArrayList<​Person>​();''​   * ''​ArrayList<​Student>​mylist = new ArrayList<​Person>​();''​
  
-**Explicație**:​ Ideea cheie în această întrebare și în lucrul cu generics în general este că, de exemplu (exemplul nostru), dacă ''​Student''​ e subclasă a ''​Person'',​ atunci ''​ArrayList<​Student>''​ **nu** e subclasă a ''​ArrayList<​Person>'',​ deci atribuirea nu este corectă. Matching-ul tipului generic ​(cel dintre paranteze unghiulare) ​este făcut la compilare ​și singura variantă care trece de această verificare este varianta ​în bold. Am fi putut avea matching corect cu wildcard-uri, dar nu a fost cazul aici.+**Explicație**:​ Ideea cheie în această întrebare și în lucrul cu generics în general este că, de exemplu (exemplul nostru), dacă ''​Student''​ e subclasă a ''​Person'',​ atunci ''​ArrayList<​Student>''​ **nu** e subclasă a ''​ArrayList<​Person>'',​ deci atribuirea nu este corectă (un astfel de exemplu ​este și în [[:​laboratoare:​genericitate#​genericitatea-in-subtipuri|laboratorul de genericitate]])
  
-Pentru cultura voastră generală, citiți despre //​covarianță/​contravarianță//​ și despre //type erasure// ca să înțelegeți motivele pentru care Java se comportă astfel.+Matching-ul tipului generic (cel dintre paranteze unghiulare) este făcut la compilare și singura variantă care trece de această verificare este varianta în bold. Am fi putut avea matching corect cu wildcard-uridar nu a fost cazul aici. Pentru mai multe detalii puteți să citiți despre //​covarianță/​contravarianță//​ și despre //type erasure// ca să înțelegeți motivele pentru care Java se comportă astfel.
  
  
 == Excepții ==  == Excepții == 
  
-**5. Despre excepțiile unchecked:​**+**16. Despre excepțiile unchecked:​**
  
   * clasele lor nu pot fi extinse   * clasele lor nu pot fi extinse
test_grila_ian2015.txt · Last modified: 2015/01/21 00:53 by Adriana Draghici