terme sur la structure de type = une structure de données qui accepte différents types, peut être primitif ou défini par l'utilisateur.Java: structures sur-typées? Pour avoir plusieurs types dans Object []?
Je pense que Ruby supporte de nombreux types de structures telles que les tables. J'ai essayé une table avec les types 'String', 'char' et 'File' en Java mais errer.
- Comment puis-je avoir plus typé structure Java?
Comment afficher types dans la déclaration? Qu'en est-il de l'initiation? Supposons une structure:
INDEX VAR FILETYPE //0 -> file FILE //1 -> lineMap SizeSequence //2 -> type char //3 -> binary boolean //4 -> name String //5 -> path String
code
import java.io.*;
import java.util.*;
public class Object
{
public static void print(char a)
{
System.out.println(a);
}
public static void print(String s)
{
System.out.println(s);
}
public static void main(String[] args)
{
Object[] d = new Object[6];
d[0] = new File(".");
d[2] = 'T';
d[4] = ".";
print(d[2]);
print(d[4]);
}
}
erreurs
Object.java:18: incompatible types
found : java.io.File
required: Object
d[0] = new File(".");
^
Object.java:19: incompatible types
found : char
required: Object
d[2] = 'T';
^
Après la nuisance au problème réel:
d [2] magasins de type char de type, mais les méthodes qu'il considère comme objet. Beaucoup de mes méthodes n'ont pas d'objet, donc les changer à cause de celui-ci, c'est trop.
- Comment puis-je changer les types avant de les donner en tant que parties?
- dois-je faire dans la classe de traitement séparé ou est-il prêt méthode?
code
package file;
import java.io.*;
import java.util.*;
public class ObjectTest
{
//I have this kind of methods
//I want them to work with Object
// without changing the par type,
// possible?
public static void print(char a)
{
System.out.println(a);
}
public static void print(String s)
{
System.out.println(s);
}
public static void main(String[] args)
{
java.lang.Object[] d = new java.lang.Object[6];
d[0] = (Object) new File(".");
d[2] = (Object) new Character('T');
d[4] = (Object) new String(".");
print(d[2]);
print(d[4]);
}
//I can get it this way working
// but some of my methods are not Objects
// and they need to be types like String
private static void print(Object object) {
System.out.println(object);
}
}
Pire élection pour le nom de la classe! :-) – leonbloy
Vous semblez essayer tous les BAD IDEA dans l'univers Java, un à la fois. Aujourd'hui, il déclare votre propre classe appelée 'Object' et essaie d'écrire Ruby en Java. –