โปรดให้คำแนะนำว่าฉันจะหา lib ได้ที่ไหนเพื่อที่จะใช้นิพจน์ที่สั้นกว่าSystem.out.println()และฉันควรวาง lib นั้นไว้ที่ใด
โปรดให้คำแนะนำว่าฉันจะหา lib ได้ที่ไหนเพื่อที่จะใช้นิพจน์ที่สั้นกว่าSystem.out.println()และฉันควรวาง lib นั้นไว้ที่ใด
คำตอบ:
คุณสามารถใช้ไลบรารีการบันทึกแทนการประดิษฐ์วงล้อใหม่ log4jเช่นจะให้วิธีการสำหรับข้อความที่แตกต่างกันเช่นinfo(), warn()และerror()และ
หรือเพียงแค่สร้างprintlnวิธีการของคุณเองและเรียกมันว่า:
void println(Object line) {
System.out.println(line);
}
println("Hello World");
IntelliJ IDEA และ NetBeans:
คุณพิมพ์soutจากนั้นกดTABและพิมพ์System.out.println()ให้คุณโดยให้เคอร์เซอร์อยู่ในตำแหน่งที่ถูกต้อง
คราส:
พิมพ์sysoแล้วกด+CTRLSPACE
อื่น ๆ
ค้นหาปลั๊กอิน "ตัวอย่างข้อมูล" สำหรับโปรแกรมแก้ไขข้อความ / IDE ที่คุณชื่นชอบ
import static java.lang.System.out;
out.println("Hello World");
println("Hello, World!")
println "Hello, World!"
print "Hello, World!"
puts "Hello, World!"
(println "Hello, World!")
print('Hello, World!');
import static System.out;เป็นวิธีปฏิบัติที่หายากและค่อนข้างไม่จำเป็นในความคิดของฉันดังนั้นการเห็นout.printlnอาจทำให้เกิดความสับสนอย่างน้อยในตอนแรก การนำเข้าแบบคงที่มีการใช้สำนวนมากกว่า แต่กรณีนี้ไม่เป็นเช่นนั้น
sysoutแม่แบบในJava> Editor> แม่แบบ คุณยังสามารถทำให้มันสั้นมากขึ้นโดยการเปลี่ยนsysoutจากsoหรือดังนั้น :)
soCTRL + SPACE เปิด Stack Overflow ในหน้าต่างเบราว์เซอร์และคุณหยุดการเข้ารหัส
soutยังใช้งานได้ใน IntelliJ IDEA (NetBeans อาจคัดลอกมาจากพวกเขา :) อย่างไรก็ตามดีที่จะพูดถึงเรื่องนี้ - ความยาวSystem.out.println()จะไม่เกี่ยวข้องกับ IMHO
void p(String l){
System.out.println(l);
}
ที่สั้นที่สุด ไปเลย
Java เป็นภาษา verbose
หากคุณอยู่เพียง 3 วันและสิ่งนี้กำลังรบกวนคุณอยู่แล้วคุณอาจจะควรเรียนภาษาอื่นเช่น Scala ดีกว่า:
scala> println("Hello World")
Hello World
ในแง่ที่เข้าใจง่ายสิ่งนี้จะถือว่าเป็นการใช้ "ไลบรารี" เพื่อเปิดใช้งานนิพจน์ที่สั้นกว่า;)
ทางเลือกที่น่าสนใจ:
ตัวเลือกที่ 1
PrintStream p = System.out;
p.println("hello");
ตัวเลือก 2
PrintWriter p = new PrintWriter(System.out, true);
p.println("Hello");
สำหรับประเภทIntellij IDEAsoutแล้วกดTabและกด
สำหรับคราสชนิดsysoและกด+CtrlSpace
ใช้การบันทึก log4j หรือ JDK เพื่อให้คุณสามารถสร้างตัวบันทึกแบบคงที่ในคลาสและเรียกสิ่งนี้ว่า:
LOG.info("foo")
ดังที่ Bakkal อธิบายสำหรับแป้นพิมพ์ลัดใน netbeansคุณสามารถไปที่ tools-> options-> editor-> code template และเพิ่มหรือแก้ไขทางลัดของคุณเองได้
ในEclipseเทมเพลต
วิธีแก้ปัญหาของฉันสำหรับBlueJคือแก้ไขเทมเพลต New Class "stdclass.tmpl" ใน Program Files (x86) \ BlueJ \ lib \ english \ template \ newclass และเพิ่มวิธีนี้:
public static <T> void p(T s)
{
System.out.println(s);
}
หรือรุ่นอื่น ๆ :
public static void p(Object s)
{
System.out.println(s);
}
สำหรับ Eclipse ฉันใช้ทางลัดที่แนะนำsyso + <Ctrl> + <Space>:)
อาจเป็นประเด็นเล็กน้อย แต่:
import static System.out;
public class Tester
{
public static void main(String[] args)
{
out.println("Hello!");
}
}
... เกิดข้อผิดพลาดเวลาคอมไพล์ ฉันแก้ไขข้อผิดพลาดโดยแก้ไขบรรทัดแรกเพื่ออ่าน:
import static java.lang.System.out;
แพ็คเกจ some.useful.methods;
สาธารณะชั้น B {
โมฆะคงที่สาธารณะ p (Object s) {
System.out.println (s);
}
}
แพ็คเกจ first.java.lesson;
นำเข้าแบบคงที่ some.useful.methods.B. *;
ชั้นสาธารณะ A {
โมฆะคงที่สาธารณะ main (String [] args) {
P ( "Hello!");
}
}
ใน Java 8:
List<String> players = new ArrayList<>();
players.forEach(System.out::println);
การใช้ System.out.println () เป็นแนวทางปฏิบัติที่ไม่ดี (ควรใช้กรอบการบันทึกที่ดีกว่า) -> คุณไม่ควรมีเหตุการณ์มากมายในฐานรหัสของคุณ การใช้วิธีอื่นเพื่อทำให้สั้นลงดูเหมือนจะไม่ใช่ทางเลือกที่ดี