Java字符串比较/引用

Java字符串比较/引用,java,csv,string,comparison,object,Java,Csv,String,Comparison,Object,我的问题是比较两个对象及其返回的字符串(通过getter访问) Object one解析csv文件中的日期,并通过exampleObject打印出来。getDateTime()返回字符串:“2010-03-26-10-54-06.471000” 对象2的日期时间字符串由用户设置。当我将对象2上的dateTime设置为与objectOne相同,然后执行exampleObjectTwo.getDateTime()时,它返回2010-03-26-10-54-06.471000 因此,主要区别在于,一个

我的问题是比较两个对象及其返回的字符串(通过getter访问)

Object one解析csv文件中的日期,并通过exampleObject打印出来。getDateTime()返回字符串:“2010-03-26-10-54-06.471000”

对象2的日期时间字符串由用户设置。当我将对象2上的dateTime设置为与objectOne相同,然后执行exampleObjectTwo.getDateTime()时,它返回2010-03-26-10-54-06.471000

因此,主要区别在于,一个字符串包含来自解析csv的引用(不包含引用),而返回的用户设置字符串没有引用

如果有人能解释为什么会发生这种情况,我将不胜感激

非常感谢


上面的edit是用于解析csv文件的代码。我检查了,csv文件不包含任何引用


感谢您的快速和有益的回应

再次检查如何执行csv解析

或从字符串中删除引号:

String newDate  = oldString.replaceAll("\""," ").trim();

再次检查如何执行csv解析

或从字符串中删除引号:

String newDate  = oldString.replaceAll("\""," ").trim();

您需要修改/配置CSV解析器以删除引号

如果它是一个自行开发的CSV解析器,那么这样做应该足以消除周围的双引号:

field = field.replaceAll("^\"|\"$", "");
如果它是第三方API,那么您需要查阅其文档(或者在此处提及库名称,以便愿意这样做的人可以为您查找文档)

另见:

您需要修改/配置CSV解析器以删除引号

如果它是一个自行开发的CSV解析器,那么这样做应该足以消除周围的双引号:

field = field.replaceAll("^\"|\"$", "");
如果它是第三方API,那么您需要查阅其文档(或者在此处提及库名称,以便愿意这样做的人可以为您查找文档)

另见:

信息不足。问题在于对象的实现,如果看不到它们的源代码,我们甚至无法猜测。信息不足。问题在于对象的实现,在没有看到它们的源代码的情况下,我们甚至无法猜测。这将删除所有双引号。这是一个有点激烈的一般解决方案。CSV字段也可以包含合法的双引号;getDateTime中的所有返回值都不包含双引号。这将删除所有双引号。这是一个有点激烈的一般解决方案。CSV字段也可以包含合法的双引号;getDateTime的所有返回值都不包含双引号,用逗号分隔也是个坏主意。可能有引用的字段依次包含逗号,例如,
“field1”、“fie、ld2”、“fie”“ld3”
是合法有效的CSV行,应解析为
field1
fie、ld2
fie“ld3
。再次检查我提供的链接,以获得一个好的解析器示例。Ooops错过了该链接!!再次感谢你不要用逗号,这也是个坏主意。可能有引用的字段依次包含逗号,例如,
“field1”、“fie、ld2”、“fie”“ld3”
是合法有效的CSV行,应解析为
field1
fie、ld2
fie”ld3
。再次检查我提供的链接以获得一个好的解析器示例。oops错过了该链接!!再次感谢