limoentje: martin, die link naar Java Generics, mag ik vragen wat dat precies inhoudt?
Uiteraard

.
In de volgende Java 2 SDK zal de taal Java voor het eerst sinds de toevoeging van inner-classes echt veranderd worden. Er zal namelijk support komen voor geparameterizeerde typen, die je kunt vergelijken met C++ templates, maar toch anders zijn.
De link verwijst naar een behoorlijk goed functionerend prototype van deze compiler. De gegenereerde code draait in elke JVM. De compiler is gelijk aan de compiler in 1.4.0, maar dan in deze zit dus support voor geparameterizeerde typen.
Met geparameterizeerde typen kan je een klasse parameterizeren met een type. Het meest zul je dit toepassen bij Collections. Je kunt een List bijvoorbeeld parameterizeren met een String om een lijst van String te krijgen.
Je gebruikt die dan zo:
code:
1
2
3
4
5
| List<String> list = new ArrayList<String>();
list.add("Bla");
String elem = list.get(0) |
Je hoeft nu dus niet meer te casten

.
Een simpel voorbeeld van een eigen klasse die je zou kunnen schrijven:
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
| public class Pair<A, B>
{
private A first;
private B second;
public Pair(A first, B second)
{
super();
this.first = first;
this.second = second;
}
public A getFirst()
{
return first;
}
public B getSecond()
{
return second;
}
} |
Deze kan je nu zo gebruiken (zomaar wat fragmentjes):
code:
1
2
3
4
5
6
7
8
| public void doSomething(Pair<String, Integer> pair);
Pair<Calendar, DateFormat> pair = ...
Calendar calendar = pair.getFirst();
Pair<List<String>, List<Integer>>
Pair<Integer, Integer> |
Niet dat ik memberke wil worden bij de Java Connection, maar wat voor onderwerp behandelt die link, of is het gewoon een link naar de Connection?
Je moet je aanmelden voor de Developer Connection als je Early-Access software wil downloaden. Verder is absoluut niet boeiend of je lid bent of niet

.
edit: foutje in de code

.