10 erreurs à éviter dans la programmation java
Voici 10 rappels rapides pour éviter les erreurs faciles lorsque vous programmez les applications Android avec le code Java. Écrire vos propres programmes Java sera beaucoup plus facile et plus lisse lorsque vous exécutez à travers cette liste de contrôle.
Sommaire
- Majuscules mis où ils appartiennent
- Sortir d'une instruction switch
- Comparer les valeurs avec un double signe égal
- Ajouter des écouteurs pour gérer les événements
- Définir les constructeurs requises
- Fixer références non statiques
- Restez dans les limites d'un tableau
- Anticiper les pointeurs nuls
- Utiliser des autorisations
- L'activité non trouvé
Majuscules mis où ils appartiennent
Java est un langage sensible à la casse, si vous avez vraiment l'esprit de votre Ps et Qs - avec tous les autres lettres de l'alphabet. Voici quelques concepts à garder à l'esprit que vous créez des programmes Java:
Les mots-clés de Java sont tous complètement minuscules. Par exemple, dans un Java si déclaration, le mot si ne peut pas être Si ou SI.
Lorsque vous utilisez des noms de l'interface de programmation Java Application (API), le cas des noms doit correspondre à ce qui apparaît dans l'API.
Vous devez également vous assurer que les noms que vous faire vous-même sont capitalisés de la même manière dans l'ensemble du programme. Si vous déclarez une mon compte variable, vous ne peut pas se référer à lui comme Mon compte, mon compte, ou Mon compte. Si vous capitalisez le nom de la variable de deux manières différentes, Java pense que vous faites allusion à deux variables complètement différentes.
Sortir d'une instruction switch
Si vous ne cassez pas d'un interrupteur déclaration, vous obtenez fall-through. Par exemple, si la valeur de rouleau est 7, le code suivant imprime tous les trois mots - victoire, continuer, et perdre:
interrupteur (rouleau) {case 7: System.out.println ("gagner") - Cas 10: System.out.println ("continuer") - Cas 12: System.out.println («perdre») -}
Comparer les valeurs avec un double signe égal
Lorsque vous comparez deux valeurs avec un autre, vous utilisez un double signe égal. La ligne
si (== inputNumber randomNumber)
est correcte, mais la ligne
si (inputNumber = randomNumber)
n'est pas correcte.
Ajouter des écouteurs pour gérer les événements
Vous voulez savoir quand l'utilisateur clique sur un widget, quand une animation se termine, ou lorsque quelque chose se passe, de sorte que vous créez auditeurs:
MainActivity public class étend activitémet en œuvre onclickListener, AnimationListener {... public void onclick (Voir vue) {...} public void onAnimationEnd (Animation animation) {...}
Lorsque vous créez auditeurs, vous devez vous rappeler de mettre les auditeurs:
Widget ImageView = new ImageView (cette) -widget.setonclickListener(cette) -... AlphaAnimation animation = new AlphaAnimation (0.0f, 1.0F) -animation.setAnimationListener(ce)-...
Si vous avez oublié l'appel à setonclickListener, rien ne se passe lorsque vous cliquez sur le widget. En cliquant sur le widget difficile une deuxième fois ne contribue pas.
Définir les constructeurs requises
Lorsque vous définissez un constructeur avec des paramètres, comme dans
Température publique (numéro double)
Java ne crée plus un constructeur sans paramètre par défaut pour vous. En d'autres termes, vous ne pouvez plus appeler
Température roomTemp = new Température () -
à moins que vous définissiez votre propre parameterless Température constructeur.
Fixer références non statiques
Si vous essayez de compiler le code suivant, vous obtenez un message d'erreur:
classe WillNotWork {String greeting = "Bonjour" void main (String args []) {System.out.println -publics statiques (saluant) -}}
Vous obtenez un message d'erreur parce que principal est statique, mais salutation est pas statique.
Restez dans les limites d'un tableau
Lorsque vous déclarez un tableau avec dix composants, les composants ont des indices de 0 à 9. En d'autres termes, si vous déclarez
invités int [] = new int [10] -
vous pouvez vous référer à la invités les composants de tableau par écrit invités [0], clients [1], et ainsi de suite, tout le chemin jusqu'à invités [9]. Vous ne pouvez pas écrire invités [10], parce que le invités tableau n'a pas de composante d'indice 10.
Anticiper les pointeurs nuls
Ces exemples ne sont pas sujettes à jeter le NullPointerException, mais dans la vie réelle programmation Java, vous voyez cette exception tout le temps. UN NullPointerException vient quand vous appelez une méthode sur une expression qui ne possède pas une valeur «légitime». Voici un exemple pas cher:
public class ThrowNullPointerException {static void main (String [] args) {String publics myString = null-affichage (myString) -} static affichage vide (String aString) {if {System.out (Les aString.contains («confidentiel»)!) .println (aString) -}}}
La afficher méthode affiche une chaîne de caractères que si cette chaîne ne contient pas le mot confidentiel. Le problème est que le maChaine variable (et donc la un string paramètre) ne renvoie pas à une chaîne de toute nature - pas même à la chaîne vide ("").
Lorsque l'ordinateur atteint l'appel à aString.contains, l'ordinateur recherche un contient méthode appartenant à nul. Mais nul c'est rien. La nul la valeur n'a pas de méthodes. Ainsi, vous obtenez un grand NullPointerException, et le programme vient écraser autour de vous.
Pour éviter ce genre de calamité, réfléchir à deux fois tout appel de méthode dans votre code. Si l'expression avant le point peut éventuellement être nul, ajouter du code gestion des exceptions à votre programme:
try {if {System.out.println (aString) (aString.contains («confidentiel»)!) -}} catch (NullPointerException e) {System.out.println ("La chaîne est nulle.») -}
Utiliser des autorisations
Certaines applications nécessitent des autorisations explicites. Par exemple, une application peut parler aux serveurs de Twitter sur Internet. Cela ne fonctionne pas, sauf si vous ajoutez un élément à l'application de AndroidManifest.xml fichier:
Si vous oubliez d'ajouter l' élément à votre AndroidManifest.xml fichier, l'application ne peut pas communiquer avec les serveurs de Twitter. L'application échoue sans afficher de message d'erreur utile. Dommage!
L'activité non trouvé
Si vous créez une seconde activité pour votre application, vous devez ajouter un nouveau
Eclipse crée automatiquement une
Si vous ne pas ajouter ce
Et cela fait toute la différence.