您的位置 首页 > 数码极客

如何在类里传递字符

1.toString 语句

java.lang.Object 类层次结构的根类 所有的类都直接或者间接的继承自Object类

    String toString() 返回对象的字符串表现形式   对象类型 + @ + 地址值(哈希值)                       子类一般都会重写这个toString方法 返回对象的属性值 而不是地址值public static voin main(String args){    Person p = new Person();    String s = Per();    Sy(p);    Sy(s) }

在输出语句中打印对象,就是相当于在调用语句toString语句

2.equals方法的理解及使用

boolean equals(Object obj) 比较两个对象是否相同 在Object类中比较的是两个对象的地址值 子类可以重写此方法 比较两个对象的属性值

== 方法比较 如果比较基本类型比较的是具体的数值 如果比较引用类型 比较的是引用类型的地址值

public static void main(String[] args) {

public static void main(String[] args) { Person p = new Person("柳岩",38);    Person p2 = new Person("柳岩",38);   // p2= null;    //== 比较引用数据类型 永远比较的都是地址值    Sy(p == p2);//false    Sy(p2));//true   }

2.1 hashcode

Object int hashCode() 返回对象的哈希值(对象一旦创建 产生的一个值 相当于是地址值) 如果不重写hashCode方法 比较两个对象的hashCode就是在比较两个对象的地址值 如果重写了hashCode方法 那么比较两个对象的hashCode是在比较什么 就确定不下来了

我们一般情况 重写hashCode 都是按照属性值来进行重写,那么这样比较两个对象的hashCode就是 比较两个对象的属性值 因为有特殊情况 所以 一般的比较 都是先比较 hashCode 在去比较equal, 这样 可以提高比较的效率

先比较hashCode 不同 ​ 相同 继续比较equals ​ 不同 ​ 相同

public static void main(String[] args) {    Object obj = new Object();    Object obj2 = new Object();    Sy());    Sy());    //不重写此方法 比较两个对象的哈希值 就是在比较两个对象的地址值    Sy() == obj2.hashCode());//false    Sy());    Person p1 = new Person("柳岩",38);    Person p2 = new Person("柳岩",38);    //重写了方法 比较两个对象的哈希值 是比较内容    Sy() == ());//true      /*         String类重写了hashCode方法 我们来看看String 如何重写的         比较两个字符串的 hashCode 是在比较什么东西     */    String s = "abc";    String s2 = "bcd";    Sy());    Sy());    //特殊情况 两个字符串不同 但是计算出来的 哈希值相同    Sy("重地".hashCode());    Sy("通话".hashCode());   }

3.String类的常见方法

特点 1.所有字符串的字面值都是字符串的对象 "abc" 2.字符串是常量 一旦创建 不可改变 3.因为不可改变 所以可以共享

构造方法      public String()      public String(String str)将字符数组转换为字符串 public String(char[] chs) public String(char[] chs,int start,int length) 将字符串数组的一部分转换为字符串 将字节数组转换为字符串 public String(byte[] bytes) public String(byte[] bytes,int start,int length) 将字节数组的一部分转换为字符串 将字符串转换为字符数组 char[] toCharArray() 将字符串转换为字节数组 byte[] getBytes() 替换及其重载的方法 String replace(char oldValue,char newValue) String replace(String old,String new); String replaceAll(String regex, String replacement) 字符串拼接   String concat(String str)   根据传入的字符 找到在字符串中第一次出现的索引 如果在字符串中不存在 返回-1   int indexOf(int c)   从指定索引开始查找指定的字符     int indexOf(int c,int fromIndex) 找到指定字符在字符串中 最后一次出现的索引     int lastIndexOf(int c)   字符串的截取 String substring(int start)   从开始索引 截取到末尾 String substring(int start,int end) 从开始索引 截取到 end-1 大小写转换 String toUpperCase() 转大写 String toLowerCase() 转小写 判断开头和结尾 boolean startsWith(String s) 判断是否以s开头 boolean endsWith(String s) 判断是否以s结尾 去掉字符串两端的空格 String trim()   将字符串进行切割 返回一个字符串数组 String[] split(String regex);   public static void main(String[] args) {       String str = "aa.....bb...cc..dd";


      String[] arr = ("\\.+");


      for (int i = 0; i < arr.length; i++) {           Sy(arr[i]);       }       String[] names = {"柳岩","唐嫣","金莲"};       String[] nameArr = "柳岩-唐嫣-金莲".split("-");   }



责任编辑: 鲁达

1.内容基于多重复合算法人工智能语言模型创作,旨在以深度学习研究为目的传播信息知识,内容观点与本网站无关,反馈举报请
2.仅供读者参考,本网站未对该内容进行证实,对其原创性、真实性、完整性、及时性不作任何保证;
3.本站属于非营利性站点无毒无广告,请读者放心使用!

“如何在类里传递字符”边界阅读