Bonjour,
je dois développer une classe ObjectArray qui est une sous classe d'un classe Cluster dont le code est :
et de plus cette classe ObjectArray doit implementer l'interface java.util.list
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42 package shiptrafficcontrol; public class Cluster<E> { //@ invariant 0 <= count && //@ (\forall int i,j; //@ 0 <= i && i < items.size() && 0 <= j && j < items.size() && i < j; //@ (items.get(i) != null && items.get(j) != null) ==> !items.get(i).equals(items.get(j))); protected /*@spec_public */ java.util.ArrayList<E> items; protected /*@spec_public */ static final int capacity=10; protected /*@spec_public */ int count = 0; /** Creates a new instance of Cluster */ public Cluster(){ items = new java.util.ArrayList<E>(capacity); count = 0; } public /*@ pure */ boolean contains(E item){ return items.contains(item); } //@ ensures \result <==> (count == 0); public /*@ pure */ boolean isEmpty(){ return (count == 0); } //@ ensures \result <==> (count == capacity); public /*@ pure */ boolean isFull(){ return (count == capacity); } //@ requires !isEmpty(); //@ ensures \result == null || items.contains(\result); public /*@ pure */ E pickOne(java.util.Random random){ return items.get(random.nextInt(items.size())); } public /*@ pure */ String toString(){ return items.toString(); } }
voici ce que j'ai fais:
le probleme c'est que je voudrais utiliser un type généric (E) mais des que je remplace Object par "E" ,le compilateur ne trouve pas ce type E, pourtant objectArray est une sous classe de Cluster qui implemente le type E
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122 /* * ObjectArray.java * * Created on 13 octobre 2006, 23:57 * * To change this template, choose Tools | Template Manager * and open the template in the editor. */ package shiptrafficcontrol; import java.util.*; /** * * @author Nicolas */ public class ObjectArray extends Cluster implements List{ /** Creates a new instance of ObjectArray */ public ObjectArray() { super(); } //to overide from cluster //public String toString(); public int size() { return items.size(); } public Iterator<Object> iterator() { return items.iterator(); } public Object[] toArray() { return(items.toArray()); } public boolean add(Object o ) { items.add(o); } public boolean remove(Object o) { return(items.remove(o)); } public boolean containsAll(Collection<Object> c ) { return(items.containsAll(c)); } public boolean addAll(Collection<Object> c ) { return(items.addAll(c)); } public boolean addAll(int i , Collection<Object> c) { return(items.addAll(i,c)); } public boolean removeAll(Collection<Object> c ) { return(items.removeAll(c)); } public void clear() { items.clear(); } public Object get(int i) { return(items.get(i)); } public Object set(int i, Object o) { return(items.set(i,o)); } public void add(int i, Object o) { items.add(i,o); } public Object remove(int i) { return(items.remove(i)); } public int indexOf(Object o) { return(items.indexOf(o)); } public int lastIndexOf(Object o) { return(items.lastIndexOf(o)); } public ListIterator<Object> listIterator() { return(items.listIterator()); } public ListIterator<Object> listIterator(int i) { return(items.listIterator(i)); } public List<Object> subList(int i, int j) { return(items.subList(i,j)); } public Object[] toArray(Object o[]) { return(items.toArray(o)); } public boolean contains(Object o) { return(items.contains(o)); } public boolean retainAll(Collection<Object> c ) { return(items.retainAll(c)); } }
de plus j'ai une erreur à la compilation, comme quoi je n'implemente pas tout les méthodes de l'interface, pourtant c'est le cas....
Can you help pliiiiiiiiiise ???
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8 deps-jar: Compiling 7 source files to /Users/Nicolas/Documents/IY/Object & Component Technology/ASSIGNMENTS/ShipTrafficControlSystem/build/classes /Users/Nicolas/Documents/IY/Object & Component Technology/ASSIGNMENTS/ShipTrafficControlSystem/src/shiptrafficcontrol/ObjectArray.java:18: shiptrafficcontrol.ObjectArray is not abstract and does not override abstract method retainAll(java.util.Collection) in java.util.List public class ObjectArray extends Cluster implements List{ Note: /Users/Nicolas/Documents/IY/Object & Component Technology/ASSIGNMENTS/ShipTrafficControlSystem/src/shiptrafficcontrol/ObjectArray.java uses unchecked or unsafe operations. Note: Recompile with -Xlint:unchecked for details. 1 error BUILD FAILED (total time: 1 second)![]()
Nicolas
Partager