Types 良好实践-类型转换

Types 良好实践-类型转换,types,string-conversion,Types,String Conversion,我的应用程序从文件中读取数据,并用该数据实例化对象。我可以编辑和创建新对象并设置属性。我的问题是属性“date”及其类型。我不知道是否应该将字符串日期转换为日期类型?我不会在退出时将数据写入文件或数据库。它们仅存在于应用程序生命周期中 这真的取决于你,但是如果你要操纵它和/或大量使用它,Date将非常有用。如果它将为您节省代码行,请继续使用它。如果只是小事,你可以决定走哪条路。尽管如此,无论哪种方式,Date都是首选——如果你有大量的更改,那么它可能不值得更改。就像@PhillipSchmidt

我的应用程序从文件中读取数据,并用该数据实例化对象。我可以编辑和创建新对象并设置属性。我的问题是属性“date”及其类型。我不知道是否应该将字符串日期转换为日期类型?我不会在退出时将数据写入文件或数据库。它们仅存在于应用程序生命周期中

这真的取决于你,但是如果你要操纵它和/或大量使用它,
Date
将非常有用。如果它将为您节省代码行,请继续使用它。如果只是小事,你可以决定走哪条路。尽管如此,无论哪种方式,
Date
都是首选——如果你有大量的更改,那么它可能不值得更改。

就像@PhillipSchmidt所说的,如果你不打算对这个日期字符串做太多的处理,我就不会费心转换它

例如,如果您只是检索日期字符串以向用户显示它,那么您将把它从
字符串
转换为
日期
(进行适当的错误处理),然后再转换回
字符串
对象。如果您的计划只是按原样显示日期,那么这是两个不必要的转换

但是,如果您计划操纵该日期或以特定方式对其进行格式化,则最好将其转换为
date
对象。有许多非常有用的选项可用于
Date
对象,这些选项允许您对其进行格式化、获取特定属性(年、月、日等)、获取自历元起的时间(用于排序等目的)或更改日期(添加月、减去日等)


没有“正确”的答案,这主要取决于你到底想对日期做什么

当要求用户键入日期时,情况如何?我需要检查它的格式,然后日期仅用于显示。如果您正在验证用户输入,同样,您可以使用字符串并在其上执行正则表达式,以确保它与可接受的日期格式匹配,或者尝试将其转换为日期,如果格式不正确,则捕获错误。真的由你决定。如果这是针对GUI或基于web的应用程序,则可以使用可用的日期输入组件来为您构建日期对象,并确保它是有效的日期。