System.out.println(Integer.parseInt(e.getMessage()));System.out.println(e.getMessage());System.exit(Integer.parseInt(e.getMessage()));当我在unix中运行代码时system.exit(Integer.parseInt(e.getMessage()))给出254输出:-2-2254 最佳答案 您的操作系统的退出代码是无符号8位整数,因此唯一有效的退出代码是0..255。你得到254的原因是因为它是int
是否可以像“旧”log4j那样将System.out(OutputStream)直接写入日志文件?我只找到log4j的解决方案,没有找到log4j2感谢您的帮助! 最佳答案 使用log4j2-iostreams模块非常容易。假设我们要将所有消息从System.out发送到名称为system.out且日志级别为INFO的记录器:System.setOut(IoBuilder.forLogger(LogManager.getLogger("system.out")).setLevel(Level.INFO).buildPrintStre
在大多数系统上,我的JLabel中的内容都能正常显示。它也以一种方式驻留,它应该总是足够大以显示其内容文本,因为我基本上是这样做的:label.setText(text);label.setFont(newFont(fontName,0,12));intwidth=label.getFontMetrics(label.getFont()).stringWidth(text);intheight=21;//thisshouldalwaysbeenoughlabel.setBounds(newRectangle(x,y,width,height));但是在某些系统上(不是我自己的,所以我真
为什么java.time.Clock有时区信息?在调用instant()方法时,您只能从Clock获得Instant-这是没有时区信息的时间。是让时钟中的区域可用的唯一目的,例如像这样创建一个ZonedDateTime?ZonedDateTime.ofInstant(clock().instant(),clock().getZone())那么在Clock类中使用zonedDateTime()方法是否有意义? 最佳答案 备用时钟行为引用Clock文档(强调我的):UseofaClockisoptional.Allkeydate-tim
为什么不允许System.out.println(super)?System.out.println(this);这没关系,this.toString()被自动调用和打印。当然,用实例变量代替this也是可以的。但是,this和super可以按照我所知道的方式使用。System.out.println(super);那么为什么会失败呢?我认为它应该隐式调用super.toString()。我已经阅读了Java规范文档,但我没有找到原因。 最佳答案 在http://java.sun.com/docs/books/jls/second_
我有三个类,比如alpha、beta、gamma,这三个类中的每一个都有一个main方法。alpha和beta类在它们的main方法中都有一个try...catch...finallyblock,如下所示:publicclassalpha{publicstaticvoidmain(String[]args){try{Dosomething;}catch(Exceptionex){ex.printStackTrace();}finally{System.exit(0);}}}publicclassbeta{publicstaticvoidmain(String[]args){try{Do
在学习Java的过程中,我正在尝试开发一个基本的基于文本的游戏。我希望能够计算游戏中的轮数,以此作为管理某些事件节奏的一种方式。例如,可以将更衣室限制为每轮一次(在测试代码中为一秒)。小型生物可能会以更高的速度攻击或更衣室,而较大的生物可能会更麻烦。目前很好?太好了。所以,我做了这个,并立即意识到每次while循环等待玩家输入命令时我都会碰到一个block。代码:privatevoidstartPlaying(){//declareclock/roundvariables.intlastRound=0;intcurrentRound=0;longlastTime=System.cu
当我从EclipseHelios使用System.console时,它总是返回null。但是,当我直接从命令行使用它时(即从命令提示符手动编译和执行java源代码),我确实得到了一个控制台对象。为了知道为什么会发生这种情况,我检查了this关联。根据它,当我从Eclipse运行我的Java代码时,后台作业调度程序必须启动我的JVM。这是什么意思?当我从命令行启动时,我的JVM启动有何不同?我还检查了this关联。McDowell在这里说cmd.exe是一个控制台设备。那么我再次感到困惑,这到底是一个控制台设备? 最佳答案 因为是
对于log4j2,是否可以针对不同的日志级别使用不同的模式布局并输出到SYSTEM_OUT?这是我的log4j2.xml:但是,INFO级消息以“infoMsg”和“debugMsg”模式显示。2015-12-2410:51:56.176Log4jisready.[INFO]2015-12-2410:51:56.176com.myftpserver.MyFtpServer.(MyFtpServer.java:65)-Log4jisready.2015-12-2410:51:56.176Configurationfileisloaded[INFO]2015-12-2410:51:56.1
我在AnthonyRizk的书BeginningBlackBerryDevelopment中读到,虽然System.exit()方法会退出应用程序,但建议避免这种情况,并在退出时通过关闭所有应用程序来正确清理应用程序屏幕代替。我的问题是,为什么要避免System.exit()? 最佳答案 这是一个非常有趣的问题!JavaSEAPI和BBJavaAPI的System.exit()行为不同:在JavaSEAPI中:终止当前正在运行的Java虚拟机。在BBJavaAPI中:终止当前正在运行的Java应用程序。另请查看CarolHamer和