96SEO 2026-02-23 15:04 17
目录7.7、字符串相关类7.8、时间处理7.8.1、JDK8前7.8.2、JDK8后1、时间日期类2、格式化日期3、其他7.9、对象比较器7.7、字符串相关类

StringJDK1.0出现字符串类被final修饰其值不可改。
实现了Serializable和Comparable接口可支持序列化和可以比较大小创建后栈中保存一个地址的引用每次改变的值都是重新分配一个新的内存地址赋值而不是在原有的地址内修改。
StringBufferJDK1.0JDK1.0出现字符串类其值可修改线程安全速度相对StringBuilder慢。
str)将内容初始化为指定字符串内容当三者作为方法参数传递的话方法内部String不会改变其值StringBuffer和StringBuilder会改变其值。
StringBuilder和StringBuffder的底层是一个字符数组根据无参构造创建后的可扩容长度为16个字符接受字符串的构造长度为字符串长度16、也可指定初始长度
如果添加字符串过程中超出数组范围就会对底层数组进行扩容首先创建一个新的数组大小为原来的2倍加2将原数组中的内容复制到新数组中再将指针指向新创建的数组地址。
StringBuilder和StringBuffder提供的方法基本类似
StringBuilder和StringBuffder常用方法
6、返回指定子字符串在当前字符串中第一次出现处的索引public
对比一下使用String和StringBuilder在速度上的区别
System.currentTimeMillis();String
System.currentTimeMillis();System.out.printf(使用String用时%d,end-start);
System.currentTimeMillis();StringBuilder
System.currentTimeMillis();System.out.printf(使用StringBuilder用时%d,end-start);
System.currentTimeMillis();StringBuffer
System.currentTimeMillis();System.out.printf(使用StringBuffer用时%d,end-start);
}从上面可以明显的看出来使用String的时候相比较后两种速度慢的不是一点半点的而是很多倍的差距了而StringBuilder相比较StringBuffder也快了一些。
currentTimeMillis()用来返回当前时间与1970年1月1日0时0分0秒之间以毫秒为单位的时间差。
通常用来计算某个程序的运行时间进行快慢的对比
常量字段说明Calendar.ERAget和set的字段号表示纪元只能为0或1。
0表示BC(“before
Domini”即公元)。
Calendar.YEAR用于get和set的字段号表示年份Calendar.MONTH用于get和set的字段号表示月份0表示1月1表示2月………Calendar.WEEK_OF_YEAR用于get和set的字段号一年中的星期数即本年中第几个星期Calendar.WEEK_OF_MONTH用于get和set的字段号当前月中的星期数即本月中第几个星期Calendar.DAY_OF_YEAR用于get和set的字段号一年中第几天Calendar.DAY_OF_WEEK用于get和set的字段号一周中第几天注意周日是1周一是2…Calendar.DAY_OF_WEEK_IN_MONTHget和set的字段号表示当前月份中的星期几Calendar.DATE用于get和set的字段号一月中第几天同DAY_OF_MONTH的值是一样的Calendar.HOUR小时12小时制Calendar.AM_PM用于get和set的字段号用于指示HOUR是在中午之前还是在中午之后。
在中午12点之前返回0在中午12点(包括12点)之后返回1Calendar.HOUR_OF_DAY一天中第几个小时24小时制Calendar.MINUTE分钟Calendar.SECOND秒Calendar.MILLISECOND毫秒AY_OF_MONTH一月中第几天Calendar.DAY_OF_WEEK_IN_MONTH当前月中的第几个星期Calendar.JANUARY1月Calendar.FEBRUARY2月Calendar.MARCH3月Calendar.APRIL4月Calendar.MAY5月Calendar.JUNE6月Calendar.JULY7月Calendar.AUGUST8月Calendar.SEPTEMBER9月Calendar.OCTOBER10月Calendar.NOVEMBER11月Calendar.DECEMBER12月public
Calendar.getInstance();//查看是公元前(0)还是公元后(1)System.out.println(判断公元calendar.get(Calendar.ERA));//获取月份返回值1System.out.println(获取月份calendar.get(Calendar.MONTH));//将年份设置为1999calendar.set(Calendar.YEAR,1999);System.out.println(修改年份为1999calendar.get(Calendar.YEAR));//将年份1calendar.add(Calendar.YEAR,1);System.out.println(将年份1calendar.get(Calendar.YEAR));//返回Date格式日期System.out.println(获取date格式日期calendar.getTime());//设置时间calendar.setTime(new
2222));System.out.println(设置时间calendar.getTime());;
在JDK8以前不论是Date类、还是Calendar类都不是特别好用所以时期时间问题一直都是一个让人头疼的问题。
所以在JDK8中第三次引入了关于日期时间的API新的
中包含了关于本地日期LocalDate、本地时间LocalTime、本地日期时间、时区ZonedDateTime和持续时间Duration的类。
而在
java.time.format.DateTimeFormatter
预定义的标准格式。
如ISO_LOCAL_DATE_TIME;ISO_LOCAL_DATE;ISO_LOCAL_TIME
DateTimeFormatter.ISO_LOCAL_DATE_TIME;
dateTimeFormatter1.format(dateTime2);
DateTimeFormatter.ofLocalizedDateTime(FormatStyle.SHORT);
dateTimeFormatter2.format(dateTime2);
DateTimeFormatter.ofPattern(yyyy-MM-dd
dateTimeFormatter3.format(dateTime2);
System.out.println(format3);3、其他
在Java中经常会涉及到对象排序问题比如买东西时可以选择根据价格排序这就会涉及到对象之间的比较Java实现对象排序的方式有两种
自然排序java.lang.Comparable接口可以对实现它的每个类的对象进行整体排序。
默认从小到大。
像String、包装类等等都实现Comparable接口其中字符的比较是Unicode值数值是直接比较数值。
数组、对象列表可以通过Collections.sort
我们自定义的类也可以实现Comparable接口重写compareTo(Object
类实现Comparable接口实现接口的compareTo(Object
方法通过此方法对比两个对象的大小如果当前对象this大于形参对象则返回正整数如果当前对象this小于形参对象则返回负整数如果当前对象this等于形参对象则返回零。
定制排序java.util.Comparator接口当没有实现java.lang.Comparable接口而又不方便修改代码或者实现了java.lang.Comparable接口的排序规则不适合当前的操作那么可以考虑使用Comparator的对象来排序强行对多个对象进行整体排序的比较。
o2)方法比较o1和o2的大小如果方法返回正整数则表示o1大于o2如果返回0表示相等返回负整数表示o1小于o2。
作为专业的SEO优化服务提供商,我们致力于通过科学、系统的搜索引擎优化策略,帮助企业在百度、Google等搜索引擎中获得更高的排名和流量。我们的服务涵盖网站结构优化、内容优化、技术SEO和链接建设等多个维度。
| 服务项目 | 基础套餐 | 标准套餐 | 高级定制 |
|---|---|---|---|
| 关键词优化数量 | 10-20个核心词 | 30-50个核心词+长尾词 | 80-150个全方位覆盖 |
| 内容优化 | 基础页面优化 | 全站内容优化+每月5篇原创 | 个性化内容策略+每月15篇原创 |
| 技术SEO | 基本技术检查 | 全面技术优化+移动适配 | 深度技术重构+性能优化 |
| 外链建设 | 每月5-10条 | 每月20-30条高质量外链 | 每月50+条多渠道外链 |
| 数据报告 | 月度基础报告 | 双周详细报告+分析 | 每周深度报告+策略调整 |
| 效果保障 | 3-6个月见效 | 2-4个月见效 | 1-3个月快速见效 |
我们的SEO优化服务遵循科学严谨的流程,确保每一步都基于数据分析和行业最佳实践:
全面检测网站技术问题、内容质量、竞争对手情况,制定个性化优化方案。
基于用户搜索意图和商业目标,制定全面的关键词矩阵和布局策略。
解决网站技术问题,优化网站结构,提升页面速度和移动端体验。
创作高质量原创内容,优化现有页面,建立内容更新机制。
获取高质量外部链接,建立品牌在线影响力,提升网站权威度。
持续监控排名、流量和转化数据,根据效果调整优化策略。
基于我们服务的客户数据统计,平均优化效果如下:
我们坚信,真正的SEO优化不仅仅是追求排名,而是通过提供优质内容、优化用户体验、建立网站权威,最终实现可持续的业务增长。我们的目标是与客户建立长期合作关系,共同成长。
Demand feedback