User Tools

Site Tools


Problem constructing authldap
test:test_2015
Differences

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

Link to this comparison view

Both sides previous revision Previous revision
test:test_2015 [2015/01/21 09:42]
Daniel Ciocirlan [Clase abstracte și interfețe]
test:test_2015 [2015/01/21 12:18]
Daniel Ciocirlan [Colecții și genericitate]
Line 367: Line 367:
 **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]]). ​ **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]]). ​
  
-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. 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. +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. Pentru mai multe detalii puteți să citiți despre ​[[http://en.wikipedia.org/​wiki/​Covariance_and_contravariance_%28computer_science%29 | covarianță ​și contravarianță]] și despre ​[[http://docs.oracle.com/javase/tutorial/​java/​generics/​erasure.html | type erasure]] ​ca să înțelegeți motivele pentru care Java se comportă astfel.
- +
 == Excepții ==  == Excepții == 
  
test/test_2015.txt · Last modified: 2015/01/21 12:18 by Daniel Ciocirlan