我很想知道其他Java程序员认为他们最喜欢的语言是什么,为什么他们有这种感觉,以及为什么其他程序员也应该想要了解它.我正在寻找简单,性能等原因.谢谢.
我通过Web服务传递一些对象,其中一些包含java.sql.Date.因为Date没有空构造函数,所以它不希望序列化.
问题的第一部分很简单:在客户端和服务之间传递日期的最佳方法是什么?
第二部分有点棘手:一旦我决定如何传递日期,我显然可以声明日期瞬态并使一些包装类将日期作为字符串或其他方式传递,但如何将相同的解决方案尽可能透明地应用于包含Date的几个类?
(我有一种预感,DynamicProxy可能是一个解决方案,但在Sun的网站上阅读文档并不是很有帮助,所以如果它确实是朝这个方向发展的话,那么将会有一些澄清)
编辑:我问了错误的问题,对不起(我和同事之间的一些误解实际上是一个问题).由于反序列化而出现问题.因此,一旦我有xml格式的日期,它会尝试将自身反序列化为GregorianCalendar.问题的其他部分仍然存在:接收某些东西(长时间戳或GregorianCalendar)并将其转换为sql日期的最佳方式是什么,而不为10个不同的类制作10个不同的包装器.我正在使用NetBeans代码和wsdl生成.
我有一个包含日期表示的字符串.看起来像:
11月30日星期四19:00 EST 2006
我正在尝试使用SimpleDateFormat创建一个Date对象,并有两个问题.
1.)我无法弄清楚将解决方案硬编码到SimpleDateFormat构造函数中的模式
2.)我找不到一种方法可以使用API来解析字符串以确定模式,因此我可以将其重用于不同的日期输出模式
如果有人知道使用API或自定义解决方案的解决方案,我将非常感激.
我已经看到这两种方法都被使用过,但是从来没有听说过任何一种方式因为任何特殊原因而优先于其他方式.
public String toString() {
return this.field1 + " " + this.field2;
}
Run Code Online (Sandbox Code Playgroud)
与
public String toString() {
return getField1() + " " + getField2();
}
Run Code Online (Sandbox Code Playgroud)
我在我的例子中使用String连接来保持代码简洁.
我正在使用下面的代码片段,但它并不像我理解的那样工作.
public static void main(String[] args) {
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
String line;
try {
line = br.readLine();
while(line != null) {
System.out.println(line);
line = br.readLine();
}
} catch (IOException e) {
e.printStackTrace();
}
}
Run Code Online (Sandbox Code Playgroud)
从阅读Javadoc谈到readLine()它说:
读一行文字.一条线被认为是由换行符(\n),回车符(\r)或回车后面的任何一个终止,后面是换行符.
返回:A String包含行的内容,不包括任何行终止字符;如果已到达流的末尾,则返回null
抛出:
IOException- 如果发生I/O错误
根据我对此的理解,readLine应该在第一次没有输入输入时返回null而不是行终止,比如\r.但是,这段代码最终会无限循环.在调试之后,我发现只输入一个终止字符时返回null而不是null,它实际上返回一个空字符串("").这对我来说没有意义.我没有正确理解的是什么?