为了账号安全,请及时绑定邮箱和手机立即绑定
慕课网数字资源数据库体验端
Java入门第三季_学习笔记_慕课网
为了账号安全,请及时绑定邮箱和手机立即绑定

Java入门第三季

陈码农
难度入门
时长 5小时 0分
  • String s1 = "imooc";String s2 = "imooc";多次出现的字符串常量,JAVA编译程序只创建一个,所以System.out.println("s1和s2内存地址相同吗?" + (s1 == s2));的结果是true. 要比较2 个字符串的内容是否相同,应使用“equals()方法”。
    查看全部
  • s=“123456”; byte bt:(s.getBytes()) 循环遍历字符
    查看全部
  • ==: 判断两个字符串在内存中首地址是否相同,即判断是否是同一个字符串对象 equals(): 比较存储在两个字符串对象中的内容是否一致
    查看全部
  • String 对象创建后不能被修改 若想改变字符串,可以使用StringBuffer或者StringBuilder 每次new一个字符就是产生一个新对象,即使两个字符串的内容相同,使用“= =”比较时也为“flase”。
    查看全部
  • 卧槽我终于懂了, @Override public int hashCode() { final int prime = 31; int result = 1; result = prime * result + ((id == null) ? 0 : id.hashCode()); result = prime * result + ((name == null) ? 0 : name.hashCode()); return result; } 老师说在source里面添加的时候加入name就好了,我懒得取消id,就和上面一样都加入了,然而这样是错的!! 因为我们在settest 的class里面的 testSetContains方法里: public void testsetcontains(){ System.out.println("请输入课程名称:"); Scanner nnew = new Scanner(System.in); String name = nnew.next(); Course course2 = new Course(); course2.name = name;(此时只定义了name属性,id属性没有定义!!所以重写hashCode()时候不能把id选住) System.out.println("创建新课程:"+ course2.name); System.out.println("备选课程中是否包括上面的课程" + course2.name+","+ student.courses .contains(course2)); }
    查看全部
  • 添加元素2
    查看全部
  • 通过迭代器(Interator)来历遍所有集合
    查看全部
  • ArrayList()//初始化,因为List是接口,不能直接实例化
    查看全部
  • Arrays..asList方法
    查看全部
  • List及其实现类ArrayList
    查看全部
  • java.util.Calendar 类是一个抽象类,可以通过调用 getInstance() 静态方法获取一个 Calendar 对象,此对象已由当前日期时间初始化,即默认代表当前时间,如 Calendar c = Calendar.getInstance(); Calendar 类提供了 getTime() 方法,用来获取 Date 对象,完成 Calendar 和 Date 的转换,还可通过 getTimeInMillis() 方法,获取此 Calendar 的时间值,以毫秒为单位。
    查看全部
  • 集合框架结构
    查看全部
  • 处理日期和时间的相关数据,需要date类,此类是获取当前时间: <1>.在Java中使用默认构造方法创建Date对象,格式是不一样的。应创建一个类,类名称为simpledateFormat来进行格式化,(SimpleDateFormat sdf = new SimpleDateFormat("yyyy-mm-dd hh:mm:ss");)并将调用format方法,格式化时间,转换为指定格式的字符串(String tiday = sdf.format(d);),并打印输出;(System.out.println(today);) <2>.使用parse方法转换日期:用String创建一个字符串,创建simpledateformat对象,并将日期的格式写在括号里(SimpleDateFormat df = new SimpleDateFormat("yyyy年mm月dd日 hh:mm:ss");),调用parse转换日期(Date date = df.parse(day);),并输出。
    查看全部
  • 不是为了实现哪一句代码的。initCause()这个方法就是对异常来进行包装的,目的就是为了出了问题的时候能够追根究底。因为一个项目,越往底层,可能抛出的异常类型会用很多,如果你在上层想要处理这些异常,你就需要挨个的写很多catch语句块来捕捉异常,这样是很麻烦的。如果我们对底层抛出的异常捕获后,抛出一个新的统一的异常,会避免这个问题。但是直接抛出一个新的异常,会让最原始的异常信息丢失,这样不利于排查问题。举个例子,在底层会出现一个A异常,然后在中间代码层捕获A异常,对上层抛出一个B异常。如果在中间代码层不对A进行包装,在上层代码捕捉到B异常后就不知道为什么会导致B异常的发生,但是包装以后我们就可以用getCause()方法获得原始的A异常。这对追查BUG是很有利的。 class A{ try{ ... }catch(AException a){ throw new BException(); } } ... class B{ try{ ... }catch(BException b){ //这时候你需要去看b异常式什么问题导致的,你在A类里面 //没有对AException进行包装,所以你无法知道是A导致的B } } 如果包装以后: class A{ try{ ... }catch(AException a){ BException b = new BEexception(); b.initCause(a); throw b; } } ... class B{ try{ ... }catch(BException b){ //什么导致了b呢? b.getCause();//得到导致B异常的原始异常 } }
    查看全部
    2 采集 收起 来源:经验总结

    2017-05-11

  • java异常链: 只有Error,Exception,RuntimeException提供了带cause参数的构造器,其他的所有异常类只能通过initCause()来设置cause。 所有Throwable的子类构造器中都可以接受一个cause对象作为参数。cause是异常原由,代表着原始异常。既可以在当前位置创建并抛出行的异常,也可以通过cause追踪到异常最初发生的位置。 异常链是一种面向对象编程技术,指将捕获的异常包装进一个新的异常中并重新抛出的异常处理方式。原异常被保存为新异常的一个属性(比如cause)。这个想法是指一个方法应该抛出定义在相同的抽象层次上的异常,但不会丢弃更低层次的信息。 把捕获的异常包装成新的异常,在新异常里添加原始的异常,并将新异常抛出,它们就像是链式反应一样,一个导致(cause)另一个 该想法是指一个方法应该抛出定义在相同的抽象层次上的异常,(将所有捕获到的异常包装为新异常类,即定义在相同的抽象层次上抛出)但不会丢弃更低层次的信息。 实现异常链功能的两种基本写法: public class chainTest { /** * @param args * Test1抛出喝大了异常 * Test2调用test1捕获了喝大了异常,并且包装成运行时异常,继续抛出 * main方法中调用test2尝试捕获test2方法抛出的异常 */ public static void main(String[] args) { try{// TODO Auto-generated method stub chainTest ct=new chainTest(); ct.Test2();} catch(Exception e){ e.printStackTrace(); } }public void Test1()throws DrunkException{ throw new DrunkException("喝车别开酒"); } public void Test2(){ try{ Test1(); }catch( DrunkException e){ RuntimeException rte=new RuntimeException(e); //rte.initCause(e); e.printStackTrace(); throw rte; } } }
    查看全部
    0 采集 收起 来源:经验总结

    2018-03-22

举报

0/150
提交
取消
课程须知
此部分为 Java 课程的进阶内容,适合具有一定 Java 基础的伙伴们学习,如果您是新手,建议您移步 《Java入门第一季》 和 《Java入门第二季》,在理解并掌握面向对象相关知识后再回来进修。
老师告诉你能学到什么?
本课程将学习 Java 中的异常处理、集合框架、字符串、常用类等,逐步学习掌握 Java 高级技术。
友情提示:

您好,此课程属于迁移课程,您已购买该课程,无需重复购买,感谢您对慕课网的支持!