-
在需要频繁对字符串进行修改操作时使用 StringBuilder 的效率比 String 要高
查看全部 -
s.charAt(i)=='a'
查看全部 -
字节是计算机存储信息的基本单位,1 个字节等于 8 位, gbk 编码中 1 个汉字字符存储需要 2 个字节,1 个英文字符存储需要 1 个字节。所以我们看到上面的程序运行结果中,每个汉字对应两个字节值,如“学”对应 “-47 -89” ,而英文字母 “J” 对应 “74” 。同时,我们还发现汉字对应的字节值为负数,原因在于每个字节是 8 位,最大值不能超过 127,而汉字转换为字节后超过 127,如果超过就会溢出,以负数的形式显示
查看全部 -
==: 判断两个字符串在内存中首地址是否相同,即判断是否是同一个字符串对象
equals(): 比较存储在两个字符串对象中的内容是否一致
查看全部 -
s1.startswith(s2); -----用于测试字符串s1是否以给定的字 符串s2开始
s1.endswith(s2);-------用于测试字符串s1是否以给定的 字符串s2结尾
查看全部 -
判断set中的课程是否存在? 使用set中的contains方法,set中调用contains(obj)方法,contains方法的实现机制:先调用object中的hashcode方法,再调用object中的equals方法。所以要对对象的hashcode()方法和equals方法重写,可以使用eclipse中的source>GENARATE hashcode(),在对象的类中,实现方法的重写。
注意了这里关于使用 Set 集的 hashCode的方法,hashCode方法的工作原理是 Set.contains(E e)的时候,先调用从Object继承而来的hashCode方法,然后在调用equals()方法,连个方法都返回真的时候,才认定Set包含某个元素。jvm运行时,给每个对象分配唯一一个标志身份的标志hanshcode。众类鼻祖Object的hashCode()方法在默认情况下,判断哈希码是不是相同.即如同equals默认情况下比较的是二者是不是同一个内存快。Set集的contains方法,内部就是先调用hashCode再调用equals()方法。很多情况要结合实际对hashCode进行改写
查看全部 -
Set的contains方法
Object中,除了定义了equals (Object obj)方法,还定义了hashCode()方法
当调用HashSet的方法时,实际是每个元素先调用hashCode()方法来返回哈希码 ,哈希码值相等的情况下在调用equals()方法去判断是否相等,只有这两个都相等时,才认定HashSet包含某个元素。查看全部 -
3. 使用 substring(beginIndex , endIndex) 进行字符串截取时,包括 beginIndex 位置的字符,不包括 endIndex 位置的字符
查看全部 -
contains相当于 一个个遍历的equals方法
List中的contains方法:判断集合中是否存在某个元素
Course cr = CourseToChoose.get(0); Course cr3 = CourseToChoose.get(1); Course course[] = {cr,cr3}; System.out.println("测试containsALL()"); System.out.println(CourseToChoose.containsAll(Arrays.asList(course)));
containsALL的用法
只知道名称的时候通过for循环去遍历每个对象的name属性,这样比较麻烦,这里能继续用contains吗:
需要知道实现原理:每个类都是从Object中继承的,其中有equals( Object obj):判断两个对象是否相等;
当调用contains时,实际是遍历每个元素,并调用每个元素的equals方法,与contains中方法进行比较,有一个返回true就返回true
因此可以重写 equals 方法来完成其他的(名字)查看全部 -
每次 new 一个字符串就是产生一个新的对象,即便两个字符串的内容相同,使用 ”==” 比较时也为 ”false” ,如果只需比较内容是否相同,应使用 ”equals()” 方法
查看全部 -
String 对象创建后则不能被修改,是不可变的,所谓的修改其实是创建了新的对象,所指向的内存空间不同
查看全部 -
Exception 的父类是 Throwable
捕获到的异常,可以在当前方法的 catch 块中处理,也可抛出给调用者去处理
查看全部 -
异常经验与总结查看全部
-
创建类时,会默认生成无参构造器,如设置了含参构造器,无参构造器不会生成,需要手动添加无参构造器。当为此类添加子类时,子类默认是继承父类的无参构造器的,如此时父类由于定义了含参构造器而不存在隐式的无参构造器,则会报错,需要自己添加构造器或者为父类添加无参构造器。
查看全部 -
在需要频繁对字符串进行修改操作时使用 StringBuilder 的效率比 String 要高
查看全部
举报