S'il vous plaît des conseils sur où puis-je trouver la lib afin d'utiliser l'expression plus courte de System.out.println()et où dois-je placer cette lib.
Vous souhaitez l'utiliser uniquement parce que l'expression est plus courte?
Erick Robertson
61
Si vous allez ajouter une bibliothèque à votre projet juste pour raccourcir une expression, vos priorités sont dans le désordre.
Erick Robertson
7
Que vous le faites mal, croyez-moi.
PeterK
6
J'ai l'impression que cela nécessite la balise code-golf.
Mark Peters
3
Utiliser System.out est généralement mauvais dans une application bien conçue, donc les réponses n'ont pas vraiment d'importance ...
Bananeweizen
Réponses:
310
Bibliothèques de journalisation
Vous pouvez utiliser des bibliothèques de journalisation au lieu de réinventer la roue. Log4j, par exemple, fournira des méthodes pour différents messages comme info(), warn()et error().
Méthodes maison
ou créez simplement printlnvotre propre méthode et appelez-la:
import static System.out;est une pratique rare, et tout à fait inutile à mon avis, et donc voir out.printlnpeut prêter à confusion au moins au début. L'importation statique a un usage plus idiomatique, mais ce cas particulier n'est pas celui-là.
polygenelubricants
11
+1 pour les raccourcis Eclspe et Netbeans. Je suis indécis sur l'importation statique.
David J.Liszewski
4
Dans Eclipse, vous pouvez modifier le sysoutmodèle dans Java> Editeur> Modèles . Vous pouvez même le rendre plus court en le remplaçant sysoutpar soou so :)
BalusC
3
@BalusC Better idea - soCTRL + SPACE ouvre Stack Overflow dans une fenêtre de navigateur et vous arrêtez de coder
Michael Mrozek
1
soutfonctionne également dans IntelliJ IDEA (NetBeans l'a probablement copié d'eux :) Quoi qu'il en soit, il est bon de mentionner que - la longueur de System.out.println()devient sans importance avec elle IMHO.
Comme Bakkal l'a expliqué, pour les raccourcis clavier, dans netbeansvous pouvez aller dans outils-> options-> éditeur-> modèles de code et ajouter ou modifier vos propres raccourcis.
Ma solution pour BlueJ est d'éditer le modèle de nouvelle classe "stdclass.tmpl" dans Program Files (x86) \ BlueJ \ lib \ english \ templates \ newclass et d'ajouter cette méthode:
package some.useful.methods;
classe publique B {
public static void p (Object s) {
System.out.println (s);
}
}
package first.java.lesson;
import statique some.useful.methods.B. *;
classe publique A {
public static void main (String [] args) {
p ("Bonjour!");
}
}
Utiliser System.out.println () est une mauvaise pratique (mieux utiliser le framework de journalisation) -> vous ne devriez pas avoir beaucoup d'occurrences dans votre base de code. Utiliser une autre méthode pour simplement raccourcir cela ne semble pas une bonne option.
Je ne suis pas d'accord. Si vous disposez déjà d'une journalisation normale, l'utilisation de Sysout est un meilleur moyen de distinguer ce que vous devez voir pour le moment. De plus, l'utilisation de sysout est beaucoup plus rapide, et si vous faites beaucoup de débogage, chaque seconde compte.
Réponses:
Bibliothèques de journalisation
Vous pouvez utiliser des bibliothèques de journalisation au lieu de réinventer la roue. Log4j, par exemple, fournira des méthodes pour différents messages comme
info()
,warn()
eterror()
.Méthodes maison
ou créez simplement
println
votre propre méthode et appelez-la:Raccourcis clavier IDE
IntelliJ IDEA et NetBeans:
vous tapez
sout
puis appuyez sur TAB, et il tapeSystem.out.println()
pour vous, avec le curseur au bon endroit.Éclipse:
Tapez
syso
puis appuyez sur CTRL+ SPACE.Autre
Trouvez un plugin "snippets" pour votre éditeur de texte / IDE préféré
Importation statique
Explorez les langages JVM
Scala
Sensationnel
Jython
JRuby
Clojure
Rhinocéros
la source
import static System.out;
est une pratique rare, et tout à fait inutile à mon avis, et donc voirout.println
peut prêter à confusion au moins au début. L'importation statique a un usage plus idiomatique, mais ce cas particulier n'est pas celui-là.sysout
modèle dans Java> Editeur> Modèles . Vous pouvez même le rendre plus court en le remplaçantsysout
parso
ou so :)so
CTRL + SPACE ouvre Stack Overflow dans une fenêtre de navigateur et vous arrêtez de codersout
fonctionne également dans IntelliJ IDEA (NetBeans l'a probablement copié d'eux :) Quoi qu'il en soit, il est bon de mentionner que - la longueur deSystem.out.println()
devient sans importance avec elle IMHO.Le plus court. Fonce.
la source
Java est un langage verbeux.
Si vous n'êtes que 3 jours et que cela vous dérange déjà, vous feriez peut-être mieux d'apprendre une autre langue comme Scala:
Dans un sens large, cela reviendrait à utiliser une "bibliothèque" pour permettre des expressions plus courtes;)
la source
Quelques alternatives intéressantes:
OPTION 1
OPTION 2
la source
Pour IntelliJ IDEA de type
sout
et appuyez sur Tab.Pour le type Eclipse
syso
et appuyez sur Ctrl+ Space.la source
Utilisez la journalisation log4j ou JDK pour pouvoir simplement créer un enregistreur statique dans la classe et l'appeler comme ceci:
la source
Comme Bakkal l'a expliqué, pour les raccourcis clavier, dans
netbeans
vous pouvez aller dans outils-> options-> éditeur-> modèles de code et ajouter ou modifier vos propres raccourcis.Dans
Eclipse
c'est sur les modèles.la source
Ma solution pour BlueJ est d'éditer le modèle de nouvelle classe "stdclass.tmpl" dans Program Files (x86) \ BlueJ \ lib \ english \ templates \ newclass et d'ajouter cette méthode:
Ou cette autre version:
Quant à Eclipse, j'utilise le raccourci suggéré
syso + <Ctrl> + <Space>
:)la source
Un point mineur peut-être, mais:
... a généré une erreur de compilation. J'ai corrigé l'erreur en éditant la première ligne pour lire:
la source
la source
Dans Java 8:
la source
Utiliser System.out.println () est une mauvaise pratique (mieux utiliser le framework de journalisation) -> vous ne devriez pas avoir beaucoup d'occurrences dans votre base de code. Utiliser une autre méthode pour simplement raccourcir cela ne semble pas une bonne option.
la source