欢迎使用CSDN-markdown编辑器
来源:互联网 发布:三菱plc编程入门 pdf 编辑:程序博客网 时间:2024/06/06 05:05
7.28总结
1. 包装类的享元模式
顾名思义:共享元对象。如果在一个系统中存在多个相同的对象,那么只需要共享一份对象的拷贝,而不必为每一次使用创建新的对象。
测试: String num="abs"; String num1="acd"; String num2=new String(" 67 89 we asffds ert "); //打印 logger debug System.out.println(Integer.toHexString(num.hashCode())); System.out.println(Integer.toHexString(num1.indexOf('a'))); System.out.println(Integer.toHexString(num2.charAt(3))); 结果: 17872 0 20
享元模式是为数不多的、只为提升系统性能而生的设计模式。它的主要作用就是复用对象,以节省内存空间和对象创建时间。
2. 什么是Java对象序列化
Java平台允许我们在内存中创建可复用的Java对象,但一般情况下,只有当JVM处于运行时,这些对象才可能存在,即,这些对象的生命周期不会比JVM的生命周期更长。但在现实应用中,就可能要求在JVM停止运行之后能够保存(持久化)指定的对象,并在将来重新读取被保存的对象。Java对象序列化就能够帮助我们实现该功能。
使用Java对象序列化,在保存对象时,会把其状态保存为一组字节,在未来,再将这些字节组装成对象。必须注意地是,对象序列化保存的是对象的”状态”,即它的成员变量。由此可知,对象序列化不会关注类中的静态变量。
除了在持久化对象时会用到对象序列化之外,当使用RMI(远程方法调用),或在网络中传递对象时,都会用到对象序列化。Java序列化API为处理对象序列化提供了一个标准机制,该API简单易用。
3. String类的常用方法
⑴ length()字符串的长度
String num="6789"; System.out.println(num.length()); 输出结果为:4
⑵ charAt()截取一个字符
String num1="abcd"; System.put.println(num1.charAt(2)); //括号中为索引号 结果为:c
⑶ toCharArray()转换为字符数组
String num1="afsg"; System.out.println(num1.toCharArray()); 结果为:afsg
⑷ equals()和equalsIgnoreCase()比较两个字符串
String a="Hello"; String b="Hello"; String c="World"; String d="HELLO"; System.out.println(a.equals(b)); System.out.println(a.equals(d)); System.out.println(a.equals(c)); //比较字符串及其长度,并且区分大小写 //比较字符串及其长度,并且不区分大小写 System.out.println(a.equalsIgnoreCase(d)); 结果为:true false false true
⑸ startsWith()方法决定是否以特定字符串开始
System.out.println(a.startsWith("He"));或者System.out.println(a.startsWith(b)); 结果是:true
⑹ endWith()方法决定是否以特定字符串结束
System.out.println(a.endsWith("d")); 结果是:false
⑺ compareTo()和compareToIgnoreCase() 比较字符串
String s1 = "adger"; String s2 = "adgerfa"; String s3 = "ADGER"; String s4 = "adher"; System.out.println(s1.compareTo(s2));//-2 System.out.println(s1.compareTo(s3));//32 System.out.println(s1.compareToIgnoreCase(s3));//0 System.out.println(s3.compareToIgnoreCase(s4));//-1
compareTo()的返回值是int,它是先比较对应字符的大小(ASCII码顺序)
1、如果字符串相等返回值0
2、如果第一个字符和参数的第一个字符不等,结束比较,返回他们之间的差值(ascii码值)(负值代表:前字符串的值小于后字符串,正值代表:前字符串大于后字符串)
3、如果第一个字符和参数的第一个字符相等,则以第二个字符和参数的第二个字符做比较,以此类推,直至比较的字符或被比较的字符有一方全比较完,这时就比较字符的长度.
compareToIgnoreCase()方法是不区分大小写,返回值是int,比较方式与compareTo()相同
package lulu1; import java.util.Arrays; import java.util.Scanner; /** * 比较输入字符串的大小:不分大小写,按照字符串的大小排序 * @author chenglulu * */ public class Compare { public static void main(String[] args) { Scanner sc=new Scanner(System.in); System.out.println("请输入要比较的字符串:"); String input=sc.nextLine(); String[] s = input.trim().split(" "); //trim()是把开头和结尾的空格去掉 for(int i=0;i<s.length-1;i++){ for(int j=0;j<s.length-1-i;j++){ if(s[j].compareToIgnoreCase(s[j+1])>0){ String temp = s[j]; s[j]=s[j+1]; s[j+1]=temp; } } } System.out.println(Arrays.toString(s)); } } //测试 //输入: fas rew ada ADE FAA re bci def BCr aC Bc //输出:aC ada ADE Bc bci BCr def FAA fas re rew
⑻ indexOf() 查找字符或者子串第一次出现的地方。
package lulu1; import java.util.Scanner; /** * 查找字符或字符串第一次出现的地方 * @author chenglu * */ public class Date { public static void main(String args[]){ Scanner sc=new Scanner(System.in); System.out.println("请输入一个字符串:"); String input =sc.nextLine(); System.out.println(input.indexOf("sed")); //不存在的话,返回-1 System.out.println(input.indexOf('a')); //存在的话,返回相应的索引值 } }
⑼ lastIndexOf() 查找字符或者子串是后一次出现的地方。
import java.util.Scanner;/** * 查找字符或字符串最后一次出现的地方 * @author chenglu * */public class Date { public static void main(String args[]){ Scanner sc=new Scanner(System.in); System.out.println("请输入一个字符串:"); String input =sc.nextLine(); System.out.println(input.lastIndexOf('s')); //不存在的话,返回-1 System.out.println(input.indexOf('a')); //存在的话,返回相应的索引值 }}
⑽ substring()截取字符串
System.out.println(input.substring(2, 6)); //返回索引为2到5的值结果为:请输入一个字符串:qwerasdf eras
⑾ replace() 替换
String a="wertqwertq"; System.out.println(a.replace("tq", "asdf"));//全部替换 System.out.println(a.replaceFirst("w", "mnbv")); //只替换第一个w System.out.println(a.replaceAll("w", "123456"));//全部替换
结果为:
⑿ concat() 连接两个字符串
String s="123456"; String s1="78987"; System.out.println(s.concat(s1)); 结果为:12345678987
⒀ trim() 去掉起始和结尾的空格
String d=" as df gh we qw sd df as "; System.out.println(d.trim());//把开始和结尾的空格去掉 结果为:as df gh we qw sd df as
⒁ toLowerCase()/ toUpperCase() 大小写
String b="asdfghjk"; String c="ASDFGHJ"; System.out.println(b.toUpperCase()); System.out.println(c.toLowerCase()); System.out.println(s.toLowerCase()); 结果为: ASDFGHJK asdfghj 123456
⒂ split(String str)//将str作为分隔符进行字符串分解
String d="as df gh we qw sd df as "; String[] ss = d.split(" "); System.out.println(d.split(" ")); //输出地址 System.out.println(ss); //输出地址 System.out.println(Arrays.toString(ss)); //输出数组 结果为: [Ljava.lang.String;@39e5b5 [Ljava.lang.String;@117f31e [as, df, gh, we, , qw, sd, df, as]
快捷键
- 加粗
Ctrl + B
- 斜体
Ctrl + I
- 引用
Ctrl + Q
- 插入链接
Ctrl + L
- 插入代码
Ctrl + K
- 插入图片
Ctrl + G
- 提升标题
Ctrl + H
- 有序列表
Ctrl + O
- 无序列表
Ctrl + U
- 横线
Ctrl + R
- 撤销
Ctrl + Z
- 重做
Ctrl + Y
Markdown及扩展
Markdown 是一种轻量级标记语言,它允许人们使用易读易写的纯文本格式编写文档,然后转换成格式丰富的HTML页面。 —— [ 维基百科 ]
使用简单的符号标识不同的标题,将某些文字标记为粗体或者斜体,创建一个链接等,详细语法参考帮助?。
表格
Markdown Extra 表格语法:
可以使用冒号来定义对齐方式:
定义列表
- Markdown Extra 定义列表语法:
- 项目1
- 项目2
- 定义 A
- 定义 B
- 项目3
- 定义 C
定义 D
定义D内容
代码块
代码块语法遵循标准markdown代码,例如:
@requires_authorizationdef somefunc(param1='', param2=0): '''A docstring''' if param1 > param2: # interesting print 'Greater' return (param2 - param1 + 1) or Noneclass SomeClass: pass>>> message = '''interpreter... prompt'''
- 欢迎使用CSDN-markdown编辑器
- 欢迎使用CSDN-markdown编辑器
- 欢迎使用CSDN-markdown编辑器
- 欢迎使用CSDN-markdown编辑器
- 欢迎使用CSDN-markdown编辑器
- 欢迎使用CSDN-markdown编辑器
- 欢迎使用CSDN-markdown编辑器
- 欢迎使用CSDN-markdown编辑器
- 欢迎使用CSDN-markdown编辑器
- 欢迎使用CSDN-markdown编辑器
- 欢迎使用CSDN-markdown编辑器
- 欢迎使用CSDN-markdown编辑器
- 欢迎使用CSDN-markdown编辑器
- 欢迎使用CSDN-markdown编辑器
- 欢迎使用CSDN-markdown编辑器
- 欢迎使用CSDN-markdown编辑器
- 欢迎使用CSDN-markdown编辑器
- 欢迎使用CSDN-markdown编辑器
- 【学习笔记】熟悉使用Visual Studio Code的快捷键
- SpringMVC 源代码深度解析BeanWrapper及其实现
- Redis操作一(curd)
- 交换两个变量的值,不使用第三个变量
- UVA10954
- 欢迎使用CSDN-markdown编辑器
- R在市场调查中的应用--探索性因子分析(EFA)
- 第五章 Maven结合Junit实现单元测试
- SpringMVC源码深度分析DispatcherServlet核心的控制器(初始化)
- MySQL表分区
- Java 基础之-枚举
- Lintcode 最小差
- 私有属性的private的setter和getter方法来获取一个人的属相以及生存的天数
- 正则表达式