弱类型下的坑
2021-07-09 本文已影响0人
昵称违法
我有一个dataframe,它有一个Date类型的字段——【日期】,这个表是我从读取格式固定的CSV文件生成的,而且CSV文件格式向来固定。
df中的【日期】来自于csv文件的【日期】,具体是从"yyyy-mm-dd"自动转成Date的,因为个是固定,所以从csv—>df的时候,我也没有做强制转换。
有一天我在分析一个东西的时候,发现结果十分异常,然后回溯,原来是csv的日期格式变成"yyyy/mm/dd"。当从csv->df的时候,【日期】字段由原先的Date变成了String,导致后来的结果异常。
我在业务处理的时候,判断两个日期是否相等,原先都是判断Date,现在则变成判断Date和String,虽然是同一天,也不会满足条件,而且不像静态类型的语言,它们不同类型作判断会报错。
建议:自己设计数据结构时,尽量指定数据类型,由于疏忽大意,你觉得理所当然的操作,可能程序给出不同结果。
image.png