Articles of casting

Tableaux d’impression en Java

J’écris une méthode qui imprime chaque object transmis. Cela fonctionne Object.toSsortingng() en appelant la méthode Object.toSsortingng() pour l’object, mais ne fonctionne pas pour les tableaux. Je peux savoir s’il s’agit d’un tableau avec la Object.getClass().isArray() , mais je ne sais pas comment le Object.getClass().isArray() . int[] a; Integer[] b; Object aObject = a; Object bObject […]

Quelle est la priorité du casting en java?

si j’ai une ligne de code qui va quelque chose comme int s = (double) t/2 Est-ce la même chose que int s = (double) (t/2) ou int s = ((double) t)/2 ?

Java convertissant un object en interface non implémentée

J’ai trouvé la question suivante dans mon livre d’étude et un peu confus: Étant donné le code suivant, quelle option, si utilisée pour remplacer /* INSERT CODE HERE */ , permettra à une variable de référence de type Roamable faire référence à un object de la classe Phone ? (Sélectionnez 1 option.) interface Roamable{} class […]

Java: comment implémenter `toArray` pour` Collection`

En ce moment, j’ai: public T[] toArray(T[] old) { T[] arr = Arrays.copyOf(old, old.length + size()); int i = old.length; for(E obj : this) { arr[i] = old.getClass().getComponentType().cast(obj); ++i; } return arr; } (Notez que cela ne suit pas le contrat, comme l’a souligné axtavt.) où je reçois cet avertissement: Type safety: Unchecked cast from […]

Comment tester si la valeur stockée en double convient longtemps? (en arrondissant oui, mais en tronquant non)

Je pense que cette question est assez simple. mais voici des exemples. L’exemple ci-dessous est OK. Je peux prendre les arrondis et aucune troncature n’a été faite ici. public static void main(Ssortingng[] args) { double d = 9.9; long l = (long)d; System.out.println(l); } Sortie: 9 Et maintenant nombre hors de scope de long: public […]

Polymorphisme Java: Comment éviter les parameters d’entrée de transtypage?

Supposons que nous ayons une interface parent avec la fonction compare (). public interface Parent { public int compare(Parent otherParent); } Supposons que les enfants Child1, Child2, Child3 implémentent cette interface Parent public class Child1 implements Parent { @Override public int compare(Parent other) { Child1 otherChild = (Child1)other; } } De plus, j’utilise des génériques […]

Déclarer une variable d’un certain type

Disons que nous avons le bloc de code suivant: if (thing instanceof ObjectType) { ((ObjectType)thing).operation1(); ((ObjectType)thing).operation2(); ((ObjectType)thing).operation3(); } Toute la transtypage rend le code disgracieux. Existe-t-il un moyen de déclarer ‘chose’ comme ObjectType dans ce bloc de code? Je sais que je pourrais faire OjectType differentThing = (ObjectType)thing; et travailler avec ‘differentThing’ à partir de […]

Pourquoi la conversion d’un générique ArrayList dans une super-classe ne fonctionne-t-elle pas?

Quelqu’un peut-il m’expliquer s’il vous plaît pourquoi la ligne marquée //this line gives a comstack error (why?) Dans l’exemple de code suivant ne fonctionne pas? import java.util.ArrayList; public class GenericCastCheck { class A{ } class B extends A{ } public static void main(Ssortingng[] args) { A aObject = new A(); B bObject = new B(); […]

L’utilisation de génériques entraîne un avertissement de conversion non contrôlé

J’ai le code suivant Ssortingng innerText = null; innerText = this.getException(detail.getChildElements()); causant cet avertissement Sécurité de type: l’expression de type Iterator nécessite une conversion non contrôlée pour se conformer à Iterator La méthode référencée est private Ssortingng getException(Iterator iterator) { … } L’autre méthode, getChildElements() , est dans un fichier JAR que je ne peux […]

Définir un transtypage en Java

Je souhaite définir un transtypage d’un type arbitraire à un type de données primitif en Java. Est-il possible de définir une conversion d’un type arbitraire à un autre type arbitraire? public class Foo{ //methods, constructor etc for this class … //make it possible to cast an object of type Foo to an integer } //example […]