La création d'un nom de variable à l'aide d'une Chaîne de valeur
C'est une simple question (je pense)
Permet de dire que j'ai ce code (en Supposant que j'ai un chien classe)
String name = "dog";
dog name = new dog();
Comment puis-je obtenir java à reconnaître nom comme une Chaîne de caractères et le nom de l'objet chien?
Pourquoi voulez-vous faire cela? Il y a certainement une meilleure façon d'obtenir ce que vous essayez de faire.
Vous devriez savoir à propos de Java de l'API reflection si c'est ce que vous voulez.
Je pense que le titre et le contenu de cette question sont incompatibles. Il semble que vous soyez pas en essayant de créer une variable dont le nom est basé sur la valeur d'une chaîne de caractères. Plutôt, il semble que vous souhaitez définir la classe d'une variable en fonction de la chaîne de valeur. Si ce dernier est le cas, le
Je pense que nous avons besoin d'en savoir plus au sujet de pourquoi il veut le faire. Mon expérience ici, c'est que > 90% du temps, la réflexion n'est pas la solution au problème que l'affiche est d'essayer de résoudre.
Vous devriez savoir à propos de Java de l'API reflection si c'est ce que vous voulez.
Je pense que le titre et le contenu de cette question sont incompatibles. Il semble que vous soyez pas en essayant de créer une variable dont le nom est basé sur la valeur d'une chaîne de caractères. Plutôt, il semble que vous souhaitez définir la classe d'une variable en fonction de la chaîne de valeur. Si ce dernier est le cas, le
Factory
motif pourrait nous aider.Je pense que nous avons besoin d'en savoir plus au sujet de pourquoi il veut le faire. Mon expérience ici, c'est que > 90% du temps, la réflexion n'est pas la solution au problème que l'affiche est d'essayer de résoudre.
OriginalL'auteur charles horvath | 2011-12-25
Vous devez vous connecter pour publier un commentaire.
Alors que vous pouvez faire ce que vous voulez dans certains langages de script tels que PHP (et cette question est souvent posée par de nombreux programmeurs PHP qui commencent à Java), ce n'est pas la façon dont Java fonctionne, et en fait les noms de variables sont beaucoup moins importantes que vous pouvez réaliser, et à peine à exister après le code est compilé. Ce qui est beaucoup plus important et ce qui est la clé de la variable références -- la possibilité d'accéder à un objet particulier à un moment précis dans votre programme, et vous pouvez avoir des Chaînes de référence à des objets facilement à l'aide d'une Carte comme un moyen.
Par exemple
Ou vous pouvez obtenir des références aux objets dans de nombreuses autres façons, notamment via des tableaux, ArrayLists, LinkedLists, ou de plusieurs autres collectinos.
Modifier
Vous affirmez:
C'est exactement ce que je voulais dire quand j'ai dit que le nom de la variable n'est pas aussi importante que vous le pensez. Le nom de la variable est pas le "nom d'objet" (ce qui n'existe pas en fait).
Par exemple, si vous créez un chien dans une variable nommée Fido, puis l'affecter à une nouvelle variable nommée spot, les deux variables, malgré le fait d'avoir différents noms se réfèrent au même objet:
Si vous voulez donner à une variable "nom" envisager de donner à la classe un nom de propriété:
Maintenant, vous pouvez donner à chaque Chien son objet propre (semi) nom unique si vous le souhaitez.
veuillez voir modifier
Ainsi, la méthode décrite dans cette réponse permet de faire exactement cela!
Je suis en train d'essayer d'obtenir que cela fonctionne, je vais poster en environ une trentaine de vous dire comment il va.
Si je ne peux pas obtenir un hachage de la carte de travail pour moi, je vais poster le plein d'infos de ce que je suis en train de faire (C'est un peu long)
OriginalL'auteur Hovercraft Full Of Eels
Je ne suppose pas que vous êtes la pensée de Les Enums?
OriginalL'auteur OldCurmudgeon