<?xml version="1.0" encoding="utf-8"?>
<!-- generator="FeedCreator 1.7.2-ppt DokuWiki" -->
<?xml-stylesheet href="http://www.flaviocdc.net/wiki/lib/exe/css.php?s=feed" type="text/css"?>
<rdf:RDF
    xmlns="http://purl.org/rss/1.0/"
    xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
    xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
    xmlns:dc="http://purl.org/dc/elements/1.1/">
    <channel rdf:about="http://www.flaviocdc.net/wiki/feed.php">
        <title>Flavio Casadei Della Chiesa Wiki java:generics</title>
        <description></description>
        <link>http://www.flaviocdc.net/wiki/</link>
        <image rdf:resource="http://www.flaviocdc.net/wiki/lib/images/favicon.ico" />
       <dc:date>2023-11-07T06:19:07+01:00</dc:date>
        <items>
            <rdf:Seq>
                <rdf:li rdf:resource="http://www.flaviocdc.net/wiki/java:generics:alcune_novita_rispetto_a_java_1.4"/>
                <rdf:li rdf:resource="http://www.flaviocdc.net/wiki/java:generics:confronti_tra_elementi"/>
                <rdf:li rdf:resource="http://www.flaviocdc.net/wiki/java:generics:dichiarazioni_di_classi_generiche"/>
                <rdf:li rdf:resource="http://www.flaviocdc.net/wiki/java:generics:evoluzione_non_rivoluzione"/>
                <rdf:li rdf:resource="http://www.flaviocdc.net/wiki/java:generics:reificazione"/>
                <rdf:li rdf:resource="http://www.flaviocdc.net/wiki/java:generics:start"/>
                <rdf:li rdf:resource="http://www.flaviocdc.net/wiki/java:generics:subtiping_wildcards"/>
                <rdf:li rdf:resource="http://www.flaviocdc.net/wiki/java:generics:type_erasure"/>
            </rdf:Seq>
        </items>
    </channel>
    <image rdf:about="http://www.flaviocdc.net/wiki/lib/images/favicon.ico">
        <title>Flavio Casadei Della Chiesa Wiki</title>
        <link>http://www.flaviocdc.net/wiki/</link>
        <url>http://www.flaviocdc.net/wiki/lib/images/favicon.ico</url>
    </image>
    <item rdf:about="http://www.flaviocdc.net/wiki/java:generics:alcune_novita_rispetto_a_java_1.4">
        <dc:format>text/html</dc:format>
        <dc:date>2012-01-17T17:51:53+01:00</dc:date>
        <title>Alcune novità rispetto a java 1.4</title>
        <link>http://www.flaviocdc.net/wiki/java:generics:alcune_novita_rispetto_a_java_1.4</link>
        <description>PREV Introduzione a java generics NEXT Subtyping &amp; wildcards

FIXME Pagina in costruzione. Questa pagina è una rielaborazione, fatta prevalentemente di copia&amp;incolla, delle slide relative ai generics disponibili sulla pagina dedicata.

Cominciamo


Generics e Collections vanno a braccetto con altre nuove
feature (introdotte da Java5):</description>
    </item>
    <item rdf:about="http://www.flaviocdc.net/wiki/java:generics:confronti_tra_elementi">
        <dc:format>text/html</dc:format>
        <dc:date>2012-01-31T20:43:04+01:00</dc:date>
        <title>Confronti tra elementi</title>
        <link>http://www.flaviocdc.net/wiki/java:generics:confronti_tra_elementi</link>
        <description>PREV Subtyping &amp; wildcards
NEXT Dichiarazioni di variabili

Parleremo di Comparable&lt;T&gt;

	*  Confrontare elementi
	*  Trovare massimo e minimo in una collezione
	*  Metodi bridge

Comparable


public interface Comparable&lt;T&gt;
{
public int compareTo(T elem);
}</description>
    </item>
    <item rdf:about="http://www.flaviocdc.net/wiki/java:generics:dichiarazioni_di_classi_generiche">
        <dc:format>text/html</dc:format>
        <dc:date>2012-03-05T10:57:24+01:00</dc:date>
        <title>Dichiarazioni di variabili</title>
        <link>http://www.flaviocdc.net/wiki/java:generics:dichiarazioni_di_classi_generiche</link>
        <description>PREV Confronti tra elementi

NEXT Evoluzione, non rivoluzione

Costruttori


public class Coppia&lt;P,S&gt; {
 private final P primo; 
 private final S secondo; 
 public P getPrimo() {
  return primo; } 
 public S getSecondo() {
  return secondo; } 
 public Coppia(P primo, S secondo) {
  this.primo = primo;
  this.secondo = secondo; }}</description>
    </item>
    <item rdf:about="http://www.flaviocdc.net/wiki/java:generics:evoluzione_non_rivoluzione">
        <dc:format>text/html</dc:format>
        <dc:date>2012-03-11T12:06:25+01:00</dc:date>
        <title>Evoluzione, non rivoluzione</title>
        <link>http://www.flaviocdc.net/wiki/java:generics:evoluzione_non_rivoluzione</link>
        <description>PREV Dichiarazioni di variabili NEXT Reificazione

Migrare gradualmente il codice all'utilizzo dei generics (evoluzione) senza modifche radicali (rivoluzione)

Evoluzione

L'implementazione dei generics permette che il vecchio codice venga compilato ed eseguito anche con l'utilizzo delle
nuove librerie L'evoluzione è più forte della retro compatibilità: non esistono più versioni delle classi e delle librerie ma una sola versione (grazie alla type erasure) compatibile</description>
    </item>
    <item rdf:about="http://www.flaviocdc.net/wiki/java:generics:reificazione">
        <dc:format>text/html</dc:format>
        <dc:date>2012-03-11T12:06:41+01:00</dc:date>
        <title>Reificazione</title>
        <link>http://www.flaviocdc.net/wiki/java:generics:reificazione</link>
        <description>Reificazione, si è una parola Italiana ...

PREV Evoluzione, non rivoluzione

Defnizioni di reifcazione

Processo mentale mediante il quale a concetti astratti viene assegnata consistenza di cose concrete

Nella flosofa di Marx, processo secondo cui nell'economia capitalistica l'uomo e il suo lavoro sono ridotti al valore della merce che producono</description>
    </item>
    <item rdf:about="http://www.flaviocdc.net/wiki/java:generics:start">
        <dc:format>text/html</dc:format>
        <dc:date>2012-03-11T11:38:13+01:00</dc:date>
        <title>Introduzione a java generics</title>
        <link>http://www.flaviocdc.net/wiki/java:generics:start</link>
        <description>Sto studiando in maniera più o meno seria i Generics messi a disposizione di java5; per queso motivo sto realizzando alcune slide ispirate al libro java Generics and Collections
Le slide sono praticamente ultimate, mancano solo le rifiniture.

Argomenti trattati

	*  Alcune novità rispetto a java 1.4
	*  Subtyping &amp; wildcards  
	*  Confronti tra elementi
	*  Dichiarazioni di variabili
	*  Evoluzione, non rivoluzione
	*  Reificazione</description>
    </item>
    <item rdf:about="http://www.flaviocdc.net/wiki/java:generics:subtiping_wildcards">
        <dc:format>text/html</dc:format>
        <dc:date>2012-01-17T10:03:26+01:00</dc:date>
        <title>Subtyping &amp; wildcards</title>
        <link>http://www.flaviocdc.net/wiki/java:generics:subtiping_wildcards</link>
        <description>PREV Alcune novità rispetto a java 1.4 NEXT Confronti tra elementi

In Java un tipo A è un sottotipo di un altro tipo B  se questi sono legati da una clausola extends o implements 


A extends B o A implements B&lt;/java&gt;
(Integer è sottotipo di Number, List&lt;E&gt; è sottotipo di Collection&lt;E&gt;)

Subtyping è riflessiva e transitiva:

//Se A è sottotipo di B allora B è supertipo di A//

Ogni tipo reference è sottotipo di Object ed Object è supertipo di ogni reference type

===== Principio di sostituzione…</description>
    </item>
    <item rdf:about="http://www.flaviocdc.net/wiki/java:generics:type_erasure">
        <dc:format>text/html</dc:format>
        <dc:date>2012-01-17T17:50:19+01:00</dc:date>
        <title>Type erasure</title>
        <link>http://www.flaviocdc.net/wiki/java:generics:type_erasure</link>
        <description>Elaborazione delle pagie relative a Type Erasure e Generics di  wikipedia EN

Nei linguaggi di programmazione la Type Erasure (cancellazione di tipo) si riferisce al processo, eseguito a tempo di compilazione, tramite il quale  tramite il quale le informazione sul tipo vengono rimosse da un programma prima che questo venga eseguito (a run-time) . 
In java quindi i Generics sono implementati tramite la Type Erasure, la correttezza sui tipi è effettuata a tempo di compilazione; l'informazione sui …</description>
    </item>
</rdf:RDF>
