7.28下午学习总结

包装类的亨元模式

  • 顾名思义:共享元对象。如果在一个系统中存在多个相同的对象,那么只需要共享一份对象的拷贝,而不必为每一次使用创建新的对象。
    享元模式是为数不多的、只为提升系统性能而生的设计模式。它的主要作用就是复用对象,以节省内存空间和对象创建时间。
public class day1 {
public static void main(String[] args) {
    function();
}
public static void function(){
    String num ="6789";
    String num1 ="6789";
    String num2=new String("6789");
    System.out.println(num==num1);
    System.out.println(num2==num);
        System.out.println(num2==num1
    
}
}

程序输出结果:
true
false
false

序列化

什么事java对象序列化

  • Java平台允许我们在内存中创建可复用的Java对象,但一般情况下,只有当JVM处于运行时,这些对象才可能存在,即,这些对象的生命周期不会比JVM的生命周期更长。但在现实应用中,就可能要求在JVM停止运行之后能够保存(持久化)指定的对象,并在将来重新读取被保存的对象。Java对象序列化就能够帮助我们实现该功能。
  • 使用Java对象序列化,在保存对象时,会把其状态保存为一组字节,在未来,再将这些字节组装成对象。必须注意地是,对象序列化保存的是对象的"状态",即它的成员变量。由此可知,对象序列化不会关注类中的静态变量。
  • 除了在持久化对象时会用到对象序列化之外,当使用RMI(远程方法调用),或在网络中传递对象时,都会用到对象序列化。Java序列化API为处理对象序列化提供了一个标准机制,该API简单易用。

String类的常用方法

length() 字符串的长度

charAt() 截取一个字符

public static void function_5(){
    String arr1 = "aBcd";
    System.out.println(arr1.charAt(2));
}

输出结果:
c

public static void function_2(){
    String arr = "jkdakjqj";
    System.out.println(arr.length());
}

输出结果:8
toCharArray()转换为字符数组

public static void function_3(){
    String arr = "jkdakjqj";//定义字符串
    char[] ch = arr.toCharArray();//将字符串转成字符数组
    for(int i = 0;i<ch.length;i++){
        System.out.print(ch[i]);//遍历数组
     }

输出结果:jkdakjqj
equals()和equalsIgnoreCase() 比较两个字符串

public static void function_4(){
    String arr1 = "aBcd";
    String arr2 = "abcd";
    boolean s1 = arr1.equals(arr2);//两个字符串中字符完全相等,返回true
    boolean s2 = arr1.equalsIgnoreCase(arr2);//判断字符串是否完全相等,忽略大小写
    System.out.println(s1);
    System.out.println(s2);
}

输出结果:false ture
startsWith()方法决定是否以特定字符串开始,

public static void function_6(){
    String arr1 = "abcd";
    boolean b = arr1.startsWith("ab");// 判断"ab"是不是"abcd"的前缀
    System.out.println(b);
}

输出结果:ture
endWith()方法决定是否以特定字符串结束

public static void function_7(){
    String arr1 = "abcd";
    boolean b = arr1.endWith("cv");// 判断"ab"是不是"abcd"的前缀
    System.out.println(b);
}

输出结果:false
compareTo()和compareToIgnoreCase() 比较字符串

public static void function_4(){
    String arr1 = "aBcd";
    String arr2 = "abcd";
    int s1 = arr1.compareTo(arr2);
    int s2 = arr1.compareToIgnoreCase(arr2);
    System.out.println(s1);
    System.out.println(s2);
}

输出结果:-32 0

indexOf() 查找字符或者子串第一次出现的地方。�lastIndexOf() 查找字符
或者子串是后一次出现的地方。

public static void function_4(){
    String arr1 = "aBcbdb"; 
    int s1 = arr1.indexOf("b"); 
    System.out.println(s1);//返回指定字符在此字符串中第一次出现处的索引。
    
}

输出结果:3
substring()截取字符串

public static void function_4(){
    String arr1 = "aBcbdb";
    String s1 = arr1.substring(3);//包含头,后面的全要
    System.out.println(s1);
    String s2 = arr1.substring(1,3);//包含头,尾巴不要  
    System.out.println(s2);
    
}

输出结果:bdb
Bc
replace() 替换

public static void function_4(){
    String arr1 = "aBcbdb";
    String arr2 = "dsa";
    String s1 = arr1.replace(arr1, arr2);
    System.out.println(s1);
}

输出结果:dsa

concat() 连接两个字符串
trim() 去掉起始和结尾的空格
toLowerCase()/ toUpperCase() 大小写
split(String str)//将str作为分隔符进行字符串分解

public static void function_4(){
    String arr1 = new String("abc");
    String arr2 = "abc";
    System.out.println(arr1==arr2);
    System.out.println(arr1.equals(arr2));      
}

输出结果:
false
true

包装类的常用方法

以Integer为例

MIN_VALUE = 0x80000000;
MAX_VALUE = 0x7fffffff;

public static void function(){
    
    System.out.println(Integer.MAX_VALUE);
    System.out.println(Integer.MIN_VALUE);
}

输出结果:
2147483647
-2147483648
byteValue() 取得用byte类型表示的整数

public static void function(){
    Integer i = 562;
    System.out.println(i.byteValue());
}

输出结果:50
compareTo/compare 比较大小

public static void function(){
    Integer  i = 4521;
    Integer  j = 1222;
    Integer  k = 1244;
    System.out.println(i.compareTo(j));
    System.out.println(Integer.compare(j,k));
    
}

输出结果:
1
-1
toBinaryString(int i) 给定一个int类型数据,返回这个数据的二进制字符串。

public static void function(){
    String str = Integer.toBinaryString(230);
    System.out.println(str);
}

输出结果:
11100110
bitCount(int i) 给定一个int类型数据,返回这个数据的二进制串中“1”的总数量。
Integer decode(String nm) 给定一个10进制,8进制,16进制中任何一种进制的字符串,该方法可以将传入的字符串转化为10进制数字的Integer类型并返回。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 1. Java基础部分 基础部分的顺序:基本语法,类相关的语法,内部类的语法,继承相关的语法,异常的语法,线程的语...
    子非鱼_t_阅读 31,785评论 18 399
  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 135,079评论 19 139
  • Java 语言支持的类型分为两类:基本类型和引用类型。整型(byte 1, short 2, int 4, lon...
    xiaogmail阅读 1,380评论 0 10
  • 发起人:随心杂谈 活动主题:以笔会友,以情写诗 活动目的:寄情于字,交友于情;锻炼功底,分享灵感 活动内容及要求:...
    随心杂谈阅读 2,042评论 12 3
  • “双11”不知道从何时成为举国欢庆的日子。因为“双11”,马云笑了;因为“双11”,线上线下各商家笑了;因为“双1...
    常妙阅读 429评论 2 4