String字符串的时间类型比较大小
两个时间类型的字符串,要进行大小比较
比如
2023-01-02T00:38:20 和 2023-11-02T21:00:20 这两个时间,是字符串的,要进行比较
如果转成时间,多少有点不太乐意,有点麻烦。
更为简单的方式是直接使用 compareTo
public static void main(String[] args) { String time1 = "2023-01-02T00:38:20"; String time2 = "2023-11-02T21:00:20"; System.out.println(time1.compareTo(time2)); }
结果是 -1, 负数:表示 time1 小于 time2
如果是正数,则表示大于后者
如果是0:那就表示相等。这个没什么好说的。
两个字符串,它是怎样比较的呢?
同位相减。
点代码进去看一眼:
public int compareTo(String anotherString) { int len1 = value.length; int len2 = anotherString.value.length; int lim = Math.min(len1, len2); char v1[] = value; char v2[] = anotherString.value; int k = 0; while (k < lim) { char c1 = v1[k]; char c2 = v2[k]; if (c1 != c2) { return c1 - c2; } k++; } return len1 - len2; }
注:
所以这个compareTo 方法也是要求,两个字符串的结构,要完全一致才行。否则就达不到预期效果了。
分类:
java / 01-java基础
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· SQL Server 2025 AI相关能力初探
· AI编程工具终极对决:字节Trae VS Cursor,谁才是开发者新宠?
· 开源Multi-agent AI智能体框架aevatar.ai,欢迎大家贡献代码
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南