Java编程工具类之String

简介: 0.System类 java.lang包 in out对象属性 gc(); exit(0); long time = currentTimeMillis(); 获取当前系统时间--->1970-1-1 00:80:00 毫秒形式 1.Date类 java.util包 (java.sql) 无参数构造方法 new Date(); new Date(long time); after(); before(); compareTo(); setTime() getTime();

知识回顾

   0.System类    java.lang包

   in  out对象属性 gc();  exit(0);

   long time = currentTimeMillis();  

   获取当前系统时间--->1970-1-1 00:80:00  毫秒形式

   1.Date类       java.util包   (java.sql)

   无参数构造方法  new Date();    new Date(long time);

   after();   before();   compareTo();

   setTime()   getTime();    

   2.SimpleDateFormat类    java.text包

   带String参数的构造方法    new SimpleDateFormat("yyyy-MM-dd KK:mm:ss");

   String value = 对象.format(date);

   3.Calender类    java.util包

   需要通过类中的一个方法创建对象

   Calender c = Calendar.newInstance();//默认当前系统时间的一个对象

   after()  before()  setTime()  getTime()

   set(Calender.YEAR,值);     get(Calender.YEAR);

   getTimeInMillis();

   getTimeZone();//获取对应的时区

   4.TimeZone类   java.util包

   需要通过类中的一个方法创建对象

   TimeZone tz = TimeZone.getDefault();

   getID();    getDisplayName();

   String类---->引用类型    java.lang包

常见的String笔试题

   ==  equals方法的区别

   ==可以比较基本类型  可以比较引用类型

   比较基本类型比较值 比较引用类型比较地址

   equals只能比较引用类型(方法)

   默认比较地址this==obj  

   如果想要修改其比较规则  可以重写equals方法

   通常重写equals方法时会伴随着重写hashCode方法

   比如String类  比如Integer

String的不可变特性

   长度及内容

   String与StringBuffer区别

   StringBuffer与StringBuilder区别

   String对象的存储

   "abc"---->字符串常量池

   new String("abc")--->堆内存

   "a"+"b"+"c"+"d"

String中常用的方法

   1.存在哪儿   java.lang包    

   没有任何继承关系  实现三个接口Serializable, CharSequence, Comparable<String>

   2.如何构建对象

   String str = "abc"; //直接将字符串常量赋值给str   (字符串常量池)

   String str = new String();//无参数构造方法创建空的对象

   String str = new String("abc");//带string参数的构造方法创建对象

   String str = new String(byte[] )//将数组中的每一个元素转化成

   对应的char 组合成String

   String str = new String(char[] )//将数组中的每一个char元素拼接成最终的String

   3.String的不可变特性

   String类中包含一个private final char[] value;

   体现在两个地方   长度及内容

   长度--->final修饰的数组   数组长度本身不变  final修饰数组的地址也不变

   内容--->private修饰的属性  不能在类的外部访问

   *4.常用的方法

   boolean = equals(Object obj);

    //继承自Object 重写啦  比较两个字串中的字面值是否相等

   int = hashCode();

    //继承自Object 重写啦  将当前字符串的每一个char元素拆开 乘以31求和

   int = compareTo(String str);

    //实现自Comparable接口  实现啦  按照字典(Unicode编码)索引的顺序比较

   String = toString();

    //继承自Object 重写啦 不再输出 类名@hashCode  字符串中的字面值

   char = charAt(int index);//"abc"   0-->a

    //返回给定index对应位置的那个char值

   int = codePointAt(int index);//"abc"   0-->97

    //返回给定index对应位置的那个char所对应的code码

   int = length();

    //返回字符串的长度

   String = concat(String);

//将给定的字符串拼接在当前字符串之后

//自己回去查看API文档

目录
相关文章
|
1月前
|
Java 开发者
在 Java 中,一个类可以实现多个接口吗?
这是 Java 面向对象编程的一个重要特性,它提供了极大的灵活性和扩展性。
143 57
|
16天前
|
存储 JavaScript Java
Java 中的 String Pool 简介
本文介绍了 Java 中 String 对象及其存储机制 String Pool 的基本概念,包括字符串引用、构造方法中的内存分配、字符串文字与对象的区别、手工引用、垃圾清理、性能优化,以及 Java 9 中的压缩字符串特性。文章详细解析了 String 对象的初始化、内存使用及优化方法,帮助开发者更好地理解和使用 Java 中的字符串。
Java 中的 String Pool 简介
|
3天前
|
JSON Java Apache
Java基础-常用API-Object类
继承是面向对象编程的重要特性,允许从已有类派生新类。Java采用单继承机制,默认所有类继承自Object类。Object类提供了多个常用方法,如`clone()`用于复制对象,`equals()`判断对象是否相等,`hashCode()`计算哈希码,`toString()`返回对象的字符串表示,`wait()`、`notify()`和`notifyAll()`用于线程同步,`finalize()`在对象被垃圾回收时调用。掌握这些方法有助于更好地理解和使用Java中的对象行为。
|
22天前
|
缓存 安全 Java
java 为什么 String 在 java 中是不可变的?
本文探讨了Java中String为何设计为不可变类型,从字符串池的高效利用、哈希码缓存、支持其他对象的安全使用、增强安全性以及线程安全等方面阐述了不可变性的优势。文中还通过具体代码示例解释了这些优点的实际应用。
java 为什么 String 在 java 中是不可变的?
|
1月前
|
JSON Java 关系型数据库
Java更新数据库报错:Data truncation: Cannot create a JSON value from a string with CHARACTER SET 'binary'.
在Java中,使用mybatis-plus更新实体类对象到mysql,其中一个字段对应数据库中json数据类型,更新时报错:Data truncation: Cannot create a JSON value from a string with CHARACTER SET 'binary'.
70 4
Java更新数据库报错:Data truncation: Cannot create a JSON value from a string with CHARACTER SET 'binary'.
|
16天前
|
存储 Java
Java 11 的String是如何优化存储的?
本文介绍了Java中字符串存储优化的原理和实现。通过判断字符串是否全为拉丁字符,使用`byte`代替`char`存储,以节省空间。具体实现涉及`compress`和`toBytes`方法,前者用于尝试压缩字符串,后者则按常规方式存储。代码示例展示了如何根据配置决定使用哪种存储方式。
|
1月前
|
存储 缓存 安全
java 中操作字符串都有哪些类,它们之间有什么区别
Java中操作字符串的类主要有String、StringBuilder和StringBuffer。String是不可变的,每次操作都会生成新对象;StringBuilder和StringBuffer都是可变的,但StringBuilder是非线程安全的,而StringBuffer是线程安全的,因此性能略低。
52 8
|
1月前
|
Java
在Java中如何将基本数据类型转换为String
在Java中,可使用多种方法将基本数据类型(如int、char等)转换为String:1. 使用String.valueOf()方法;2. 利用+运算符与空字符串连接;3. 对于数字类型,也可使用Integer.toString()等特定类型的方法。这些方法简单高效,适用于不同场景。
57 7
|
29天前
|
存储 编译器 C语言
【c++丨STL】string类的使用
本文介绍了C++中`string`类的基本概念及其主要接口。`string`类在C++标准库中扮演着重要角色,它提供了比C语言中字符串处理函数更丰富、安全和便捷的功能。文章详细讲解了`string`类的构造函数、赋值运算符、容量管理接口、元素访问及遍历方法、字符串修改操作、字符串运算接口、常量成员和非成员函数等内容。通过实例演示了如何使用这些接口进行字符串的创建、修改、查找和比较等操作,帮助读者更好地理解和掌握`string`类的应用。
50 2
|
1月前
|
安全 Java
Java多线程集合类
本文介绍了Java中线程安全的问题及解决方案。通过示例代码展示了使用`CopyOnWriteArrayList`、`CopyOnWriteArraySet`和`ConcurrentHashMap`来解决多线程环境下集合操作的线程安全问题。这些类通过不同的机制确保了线程安全,提高了并发性能。