如何在java中缩短system.out.println

如何在java中缩短system.out.println,java,Java,调用System.out.println的最短快捷方式是什么,它可以通过最短的字符数(如print())调用 在您的代码中: out.println("Foo"); 通过Eclipse,只需键入syso,然后键入Ctrl+spaceAutohotkey.ahk: #!o:: Send System.out.println("");{LEFT 3} 然后,按WIN+ALT+O 很遗憾,autohotkey仅支持win32:(如果是为了记录/调试程序逻辑?永远不会发生的调用。 除非您正在编写控制

调用System.out.println的最短快捷方式是什么,它可以通过最短的字符数(如print())调用

在您的代码中:

out.println("Foo");

通过Eclipse,只需键入
syso
,然后键入
Ctrl+space

Autohotkey.ahk:

#!o:: Send System.out.println("");{LEFT 3}
然后,按WIN+ALT+O


很遗憾,autohotkey仅支持win32:(

如果是为了记录/调试程序逻辑?永远不会发生的调用。

除非您正在编写控制台驱动的应用程序,否则不要直接使用System.out和System.err

如果需要日志记录,请使用日志记录框架(j.u.l、log4j、jcl、avalon、slf4j、logback等)。
这些方法可以改进特定于上下文的信息、改进粒度和运行时的配置。

要使其最短,您可以编写另一个函数并使用它,但我认为键入syso并单击CTRL+Space是最好的方法。在JAVA中编写代码时,您应该习惯使用快捷方式;)在Netbeans上键入
sout
并按
TAB
最短可能的方法是创建一个短名称的方法。比如:

public static void out(Object o){
    System.out.println(o.toString());
}
现在,你只需要喊出(“foobar”);以便打印出符合标准的内容。
我使用object和toString()方法的原因是,例如,可以正确显示and integer。

这是本页答案的一个可行示例,也是正确的。我不确定这些快捷方式是否推荐用于可读、可重用的代码

import static java.lang.System.out; // only for method of minichate&Tim Cooper
import java.io.PrintWriter;// only for method of Stephan Paul

public class PrintExample{
    public static void main(String[] args){
        out.println("Typing of 7 characters saved!");
        p.pl("shortened System.out.println, 14 characters saved.");
        p.pl(77); // takes non-strings
        p.out(88); // also takes non-strings
        p.print("sorry, I only take strings!");
        //p.print(99); compilation error, int cannot be converted to String
        PrintWriter pr = new PrintWriter(System.out, true);
        pr.println(33); // method of Stephan Paul
    }
}

class p{
    // using generics (Java 5.0 onwards), by carlos_lm
    public static <T> void pl (T obj){
        System.out.println(obj);
    }
    // method by Neji3971 & bakkal, seems to work for all objects
    public static void out(Object o){
        System.out.println(o.toString());
    }
    // method by Jesus Ramos & rup. Only accepts strings!!
    public static void print(String s) {
        System.out.println(s);
    }
}
导入静态java.lang.System.out;//仅适用于minichate和Tim Cooper的方法
导入java.io.PrintWriter;//仅适用于斯蒂芬·保罗的方法
公共类打印示例{
公共静态void main(字符串[]args){
println(“保存7个字符的键入!”);
p、 pl(“缩短的System.out.println,保存14个字符”);
p、 pl(77);//接受非字符串
p、 out(88);//也接受非字符串
p、 打印(“对不起,我只接受字符串!”);
//p、 打印(99);编译错误,无法将int转换为字符串
PrintWriter pr=新的PrintWriter(System.out,true);
pr.println(33);//斯蒂芬·保罗的方法
}
}
p类{
//使用泛型(Java5.0以后的版本),carlos_lm
公共静态无效pl(T obj){
系统输出打印项次(obj);
}
//Neji3971和bakkal的方法似乎适用于所有对象
公共静态无效输出(对象o){
System.out.println(o.toString());
}
//Jesus Ramos和rup的方法。只接受字符串!!
公共静态无效打印(字符串s){
系统输出打印项次;
}
}

哇,你说得对!编辑了答案以反映我新学到的知识。@minichate-你先发布了答案,所以你得到了+1@你为什么认为它不起作用?它不起作用。他把它修好了。我会删除我的评论,以避免像你一样的混乱。不要把它当成个人的,它不像修订历史对每个人开放。谢谢你整理你的评论。我们能不能再缩短一点呢?当然,你可以把它放在一个类中,然后使用静态导入。我猜这是最接近OP想要的。是的,我的意思是,如果他想要的话,他可以叫它p(字符串),它非常短,但不可读。呵呵,自动热键:p autoit,我猜你黑客在线MMORPG?(对不起,我太粗鲁了。)很好。自动热键在Win10上对我来说也很好。对于linux,试试看?这也可以正常工作。若传递了整型或其他类型的参数,则仅传递字符串然后打印可能会导致错误。传递“对象”解决了这个问题。很好的回答。。。
public static void out(Object o){
    System.out.println(o.toString());
}
import static java.lang.System.out; // only for method of minichate&Tim Cooper
import java.io.PrintWriter;// only for method of Stephan Paul

public class PrintExample{
    public static void main(String[] args){
        out.println("Typing of 7 characters saved!");
        p.pl("shortened System.out.println, 14 characters saved.");
        p.pl(77); // takes non-strings
        p.out(88); // also takes non-strings
        p.print("sorry, I only take strings!");
        //p.print(99); compilation error, int cannot be converted to String
        PrintWriter pr = new PrintWriter(System.out, true);
        pr.println(33); // method of Stephan Paul
    }
}

class p{
    // using generics (Java 5.0 onwards), by carlos_lm
    public static <T> void pl (T obj){
        System.out.println(obj);
    }
    // method by Neji3971 & bakkal, seems to work for all objects
    public static void out(Object o){
        System.out.println(o.toString());
    }
    // method by Jesus Ramos & rup. Only accepts strings!!
    public static void print(String s) {
        System.out.println(s);
    }
}