Déclarer une variable sans déclarer son type ?

Résolu
high_templar Messages postés 42 Statut Membre -  
high_templar Messages postés 42 Statut Membre -
Bonjour à tous,

Je débute en Java/Android.

J'ai bien compris que pour pouvoir utiliser une variable, il fallait déclarer son type. Exemple :

int counter;
counter=1;

Existe-t-il une manière de procéder pour que la déclaration du type se fasse automatiquement ?

L'idée serait de faire quelque chose comme : "Toutes les variables déclarées ci-après seront du type int". Voyez-vous ce que je veux dire ?

Bien cordialement.
A voir également:

2 réponses

Nexii Messages postés 365 Statut Membre 588
 
Salut,

Cela ne fonctionne qu'avec des objets immuables, par exemple :
String toto, titi, tata;
toto = "foo";
titi= tata = "bar";


Donc cela ne fonctionnera pas dans cet exemple, où les variables pointent tous la même instance :
Voiture renault, citroen, peugeot;
renault = citroen = peugeot = new Voiture();

Il faut donc ici faire :
Voiture renault = new Voiture();
Voiture citroen = new Voiture();
Voiture peugeot = new Voiture();
0
KX Messages postés 19031 Statut Modérateur 3 020
 
Bonjour,

Je ne suis pas d'accord avec la première partie de ta réponse sur les objets immuables (ou alors c'est une spécificité pour Android qui n'existe pas en Java).
Si c'est un objet on manipule sa référence, donc immuable ou pas c'est le même objet qui sera pointé par les deux variables.

On peut très bien faire :
Voiture renault = new Voiture(), citroen = new Voiture(), peugeot = new Voiture();

D'ailleurs rien ne permet de dire si Voiture est immuable ou non, c'est le genre de propriétés qui ne sont pas explicitables dans le code.
0
Nexii Messages postés 365 Statut Membre 588
 
En effet KX ma réponse était incomplète pour avancer que l'objet Voiture n'était pas immuable.

Ce que je voulais exprimer à travers cette réponse, était le fait que l'objet String, comme l'objet Integer entre autres, créait une nouvelle instance pour chaque nouvelle déclaration, contrairement à la classe Voiture qui, j'ai omis de préciser, est un objet muable/mutable ? (trop d'anglicismes dans notre langue française....) et donc ne pouvait se permettre d'utiliser les même instanciations.

Quand à Android je ne sais pas, je ne travaille pas sur cet environnement et je parlais bien ici de Java "pur" si je peux.
0
high_templar Messages postés 42 Statut Membre 1
 
Merci beaucoup pour vos réponses.

J'ai encore un peu de mal à comprendre car je suis trop débutant.

J'ai finalement trouvé une solution alternative :

Je vais faire une déclaration du type de certaines variables directement dans les boucles de calcul dont j'ai besoin.

En tout cas, encore merci.

Bien cordialement.
0