在调试时,Eclipse能否以人类可读的方式呈现值?

Jim*_*Jim 2 java eclipse debugging calendar

我在double变量中有一个朱利安日值,如2456707.5.我希望在调试时将其视为可读的日历日期字符串6 Feb 2014.有没有办法在Eclipse中设置它?

更一般地说,有没有办法在我正在调试的应用程序中重新格式化一个人类不可读的值,以便我可以在它改变时理解它的价值?

Pau*_*cks 5

更一般的问题有几个答案"如何在Eclipse中查看变量的当前值,以我选择的格式".我更喜欢使用"表达式"视图("窗口">"显示视图">"其他...">"调试">"表达式")并输入一个以我想要的方式显示变量的java片段.

这个观点相当强大.这是一个简单的例子,您可以扩展:

new java.text.SimpleDateFormat("dd").format(java.util.Calendar.getInstance().getTime())
Run Code Online (Sandbox Code Playgroud)

把它放到表达式视图中,它会显示今天的日期.在您调试时,"表达式"视图可以完全访问范围内的所有变量.

对于您的特定情况,您需要一个将Julian Day值转换为Date或time(epoch)的类,因为Java本身不支持该值(据我所知).假设您的类被称为JulianDayFormat并扩展DateFormat,那么您可以使用

new java.text.SimpleDateFormat("dd MMM yyyy").format(new your.package.JulianDateFormat().parse(julianDayString))
Run Code Online (Sandbox Code Playgroud)