Maison > Questions et réponses > le corps du texte
巴扎黑2017-04-17 17:58:50
La conversion de type forcée doit avoir une relation d'héritage ou d'implémentation, n'est-ce pas ? int
est un type de base et String
est un type de référence. Les deux sont plus éloignés. De plus, même Integer
n'a aucune relation d'héritage avec String
Pour convertir en String
, il est recommandé d'utiliser String.valueOf()
ou .toString()
.
伊谢尔伦2017-04-17 17:58:50
Tout d'abord, le type int est un type numérique de base, pas un type de classe ; deuxièmement, Integer hérite de java.lang.Number, il ne peut donc pas être converti. La plus simple, vous pouvez utiliser la méthode suivante pour convertir le type numérique en type chaîne :
int x = 1;
String xx=""+x;
PHPz2017-04-17 17:58:50
String.valueOf(x); doit être utilisé pour une efficacité maximale. N'utilisez pas "" x"
大家讲道理2017-04-17 17:58:50
int et String ne sont pas du tout du même type.
Integer x = 1;
String xx = x.toString();
天蓬老师2017-04-17 17:58:50
La conversion forcée ne peut se produire que dans les relations d'héritage. . Int et String sont de types différents, donc naturellement ils ne peuvent pas être forcés
PHP中文网2017-04-17 17:58:50
La conversion de type forcée n'a pas besoin d'avoir une relation d'héritage ou d'implémentation, telle que short et int
On peut seulement dire que le type int en type String ne peut pas être utilisé de cette manière
L'autre problème est le efficacité de l'opération
PHP中文网2017-04-17 17:58:50
Ne peut pas être converti comme ceci, il doit être comme ceci : String s = String.valueOf(x);
怪我咯2017-04-17 17:58:50
String s = String.valueOf(int);
String s = String.valueOf(double);
String s = String.valueOf(boolean);
//...
int i = Integer.parseInt("1");
double d = Double.parseDouble("1.1");
boolean b = Boolean.parseBoolean("true");
//...