哪个网站服务器比较好,网站建设需要钱吗,wordpress5.1用什么php版本,网站修改标题目录 String类常用方法String类的equals()方法String中equals()源码展示 “”和equals()有什么区别呢#xff1f; StringBuffer类常用构造方法常用方法代码示例 面试题#xff1a;String类、StringBuffer类和StringBuilder类的区别#xff1f;日期类Date类Calendar类代码示例… 目录 String类常用方法String类的equals()方法String中equals()源码展示 “”和equals()有什么区别呢 StringBuffer类常用构造方法常用方法代码示例 面试题String类、StringBuffer类和StringBuilder类的区别日期类Date类Calendar类代码示例 String类
String s new String(“Hello World”); //创建了几个对象答案是两个s和“Hello World”
String类是final修饰的每次修改引用的值都会创建一个新的对象出来
常用方法 public static void main(String[] args) {String word HelloWorld!!!你好世界;//1.返回word这个字符串第一个字符是什么char firstCh word.charAt(0);//1.返回word这个字符串最后一个字符是什么char lastCh word.charAt(word.length()-1);System.out.println(第一个字符是 : firstCh);System.out.println(最后一个字符是 : lastCh);System.out.println(---------------------------------------);String str Hello;//将world拼接到这个字符串后面//String newStr str.concat(world);str world;System.out.println(str);System.out.println(----------------------------------------);String code public static void main(String[] args){};boolean flag code.contains(static);System.out.println(是否存在static flag);boolean flag2 code.contains(z);System.out.println(是否存在字母z? flag2);System.out.println(----------------------------------------);String yanzhengCode sKdgF5;String input skdgf5;System.out.println(yanzhengCode.equalsIgnoreCase(input));System.out.println(----------------------------------------);String email 18037678296163.cn.com;int firstPointIndex email.indexOf(.);int lastPointIndex email.lastIndexOf(.);System.out.println(\.\第一次出现的索引位置是 firstPointIndex ,最后一次出现的索引位置是 lastPointIndex);int qqIndex email.indexOf(qq);if(qqIndex 0){System.out.println(这不是一个QQ邮箱因为邮箱地址中没有\qq\这个字符串);}System.out.println(这个邮箱的长度是 email.length());}public static void main(String[] args) {String uuid UUID.randomUUID().toString();System.out.println(生成的唯一序列是: uuid);//将UUID中的-去掉//uuid uuid.replace(-,^);uuid uuid.replace(-,);System.out.println(替换后的UUID是: uuid);System.out.println(-----------------------------);String musicWords 虞美人 /蒋捷 少年听雨歌楼上 红烛昏罗帐 中年听雨客舟中 江阔云低 断雁叫西风 而今听雨僧庐下 鬓已星星也 悲欢离合总无情 一任阶前 点滴到天明;String[] words musicWords.split( );for (String word : words) {System.out.println(word);}System.out.println(-----------------------------);String str 四十年来家国三千里地山河。凤阁龙楼连霄汉玉树琼枝作烟罗。几曾识干戈;String lastWord str.substring(str.lastIndexOf(。)1);System.out.println(最后一句诗是 lastWord);String secoundWord str.substring(str.indexOf(。)1,str.lastIndexOf(。)1);System.out.println(第二句是 secoundWord);System.out.println(-----------------------------);String s HelloWorld!!!;char[] chars s.toCharArray();for (char aChar : chars) {System.out.print(aChar );}System.out.println();System.out.println(-----------------------------);String t kjdsfSDLKSG41654;System.out.println(t.toLowerCase());System.out.println(t.toUpperCase());System.out.println(-----------------------------);String u asfkjsdgjh asda a as ;System.out.println(字符串的长度是 u.length());System.out.println(去掉前后空格后的长度是: u.trim().length());}String类的equals()方法
equals()方法比较原理重写了Object类的equals()方法equals():检查组成字符串内容的字符是否完全一致
String中equals()源码展示 public boolean equals(Object anObject) {if (this anObject) {return true;}if (anObject instanceof String) {String anotherString (String)anObject;int n value.length;if (n anotherString.value.length) {char v1[] value;char v2[] anotherString.value;int i 0;while (n-- ! 0) {if (v1[i] ! v2[i])return false;i;}return true;}}return false;}“”和equals()有什么区别呢
:判断两个字符串在内存中的地址即判断是否是同一个字符串对象 equals()是Object中的方法本身也是判断两个字符串在内存中的地址是否是同一个的但是可以通过重写Object中的equals()方法比如String重写的equals()方法可以重写为判断两个对象的字符串内容是否相同
StringBuffer类
StringBuffer类位于java.util包中是String类的增强类。对字符串频繁修改时使用StringBuffer类可以大大提高程序执行效率
常用构造方法
StringBuffer strb new StringBuffer(); StringBuffer strb new StringBuffer(“abc”);
常用方法
strb.toString(); //将StringBuffer类型的字符串转化为String类型的对象返回strb.append(Object obj); //将参数连接到字符串后并返回strb.insert (int offset, Object obj); //将参数插入到字符串指定位置后并返回
代码示例 public static void main(String[] args) {String s HelloWorld,Hello;StringBuffer sb new StringBuffer(s);sb.append(KGC);sb.append(,);sb.append(Hello);sb.append(KD50);sb.append(!!!);System.out.println(sb.toString());sb.insert(HelloWorld.length(),!!!);System.out.println(sb.toString());/*sb.replace(sb.lastIndexOf(!!!),sb.lastIndexOf(!!!)3,...);System.out.println(sb.toString());*//* sb.delete(sb.lastIndexOf(!!!),sb.lastIndexOf(!!!)3);System.out.println(sb.toString());*//*sb.delete(elloWorld!!!,.length()1,HelloWorld!!!,HelloKGC.length());System.out.println(sb.toString());*/System.out.println(---------------------------);StringBuffer money new StringBuffer(9876543210);for (int i money.length()-3;i0;i-3){money.insert(i,,);}System.out.println(money.toString());//reverse()反转字符串}面试题String类、StringBuffer类和StringBuilder类的区别
String是不可变对象在每次对String类型进行改变时其实都等同于生成了一个新的String对象然后再指向新的String对象。经常改变内容的字符串最好不要使用String因为每次生成对象都会对系统性能产生影响。StringBuffer是可变的字符串在每次对StringBuffer对象进行改变时会对StringBuffer对象本身进行操作而不是生成新的对象。字符串经常改变的情况可使用StringBuffer执行效率要比String类高JDK5.0后提供了StringBuilder等价StringBuffer 。 StringBuilder与StringBuffer的区别StringBuffer类是线程安全的 StringBuilder类是单线程不提供同步理论上效率更高
日期类
java.util包中提供的和日期时间相关的类有Date类、Calendar类java.text包中提供将日期转换为文本的类有SimpleDateFormat类
Date类
//创建日期对象
Date date new Date();
//定制日期格式
SimpleDateFormat sdf new SimpleDateFormat(“yyyy年MM月dd日 HH:mm:ss);
//调用方法将日期格式化为文本
String now sdf.format(date);
System.out.println(now);Calendar类
Calendar类是抽象类用于设置和获取日期/时间数据的特定部分Calendar类提供一些方法和静态字段来操作日历
代码示例 public static void main(String[] args) {//创建Calendar对象Calendar calendar Calendar.getInstance();System.out.println(calendar.get(Calendar.DAY_OF_WEEK));System.out.println(calendar.get(Calendar.DAY_OF_MONTH));System.out.println(calendar.get(Calendar.DAY_OF_YEAR));System.out.println(calendar.get(Calendar.WEEK_OF_MONTH));System.out.println(calendar.get(Calendar.WEEK_OF_YEAR));System.out.println(calendar.get(Calendar.YEAR));System.out.println(calendar.get(Calendar.MONTH) 1);System.out.println(calendar.get(Calendar.DATE));System.out.println(calendar.get(Calendar.HOUR));System.out.println(calendar.get(Calendar.MINUTE));System.out.println(calendar.get(Calendar.SECOND));}public static void main(String[] args) {Calendar calendar Calendar.getInstance();calendar.set(2024,11,19);Date date calendar.getTime();System.out.println(date);System.out.println(--------------------------);Calendar calendar2 Calendar.getInstance();//calendar2.add(Calendar.MONTH,-1);//calendar2.add(Calendar.WEEK_OF_MONTH,-1);//calendar2.add(Calendar.DATE,-1);calendar2.add(Calendar.DATE,5);System.out.println(calendar2.getTime());System.out.println(--------------------------);long time System.currentTimeMillis();System.out.println(time);}