2021-11-07

java笔记

show(new Cat());  // 以 Cat 对象调用 show 方法
Animal a = new Cat();  // 向上转型  
      a.eat();               // 调用的是 Cat 的 eat
      Cat c = (Cat)a;        // 向下转型  
      c.work();        // 调用的是 Cat 的 work

throw throws异常关键字详解

Java 如何抛出异常、自定义异常_风中的劲草-CSDN博客_java 自定义异常

void doStuff(Shape s) { 
  s.erase(); 
  // ... 
  s.draw(); 
}
​
Circle c = new Circle(); 
Triangle t = new Triangle(); 
Line l = new Line(); 
doStuff(c); 
doStuff(t); 
doStuff(l); 
//形式参数可为对象

HashSet 基于 HashMap 来实现的,是一个不允许有重复元素的集合。

1.允许有null值

2.无序,不会记录插入的顺序

3.不是线程安全的, 如果多个线程尝试同时修改 HashSet,则最终结果是不确定的。 您必须在多线程访问时显式同步对 HashSet 的 并发访问。

4.HashSet 实现了 Set 接口。

5.HashSet 中的元素实际上是对象,一些常见的基本类型可以使用它的包装类。(全称大写)

import java.util.HashSet; // 引入 HashSet 类
​
public class RunoobTest {
    public static void main(String[] args) {
    HashSet<String> sites = new HashSet<String>();
        sites.add("Google");
        sites.add("Runoob");
        sites.add("Taobao");
        sites.add("Zhihu");
        sites.add("Runoob");  // 重复的元素不会被添加
        System.out.println(sites.contains("Taobao"));   //contain()判断元素是否存在于集合中,返回布尔值
        sites.remove("Taobao");     // 删除元素,删除成功返回 true,否则为 false
        System.out.println(sites.size());   //计算列表 返回n-1
        or (String i : sites) {
            System.out.println(i);      //可用for each循环
        sites.clear();      //删除集合中所有元素
    }
}

//Iterater迭代器
// 引入 ArrayList 和 Iterator 类
import java.util.ArrayList;
import java.util.Iterator;
​
public class RunoobTest {
    public static void main(String[] args) {
        ArrayList<Integer> numbers = new ArrayList<Integer>();
        numbers.add(12);
        numbers.add(8);
        numbers.add(2);
        numbers.add(23);
        Iterator<Integer> it = numbers.iterator();
        while(it.hasNext()) {
            Integer i = it.next();
            if(i < 10) {  
                it.remove();  // 删除小于 10 的元素
            }
        }
        System.out.println(numbers);
    }
}
​
//输出结果:[12, 23]

迭代器是一种设计模式,它是一个对象,它可以遍历并选择序列中的对象,而开发人员不需要了解该序列的底层结构。迭代器通常被称为“轻量级”对象,因为创建它的代价小。

LocalDate localDate = LocalDate.now();
LocalDateTime l1;
l1 = localDate.atTime(12, 30);
//这段代码先通过now()方法获取当前日期的localDate对象,然后调用atTime方法返回的l1对象的时间为当前日期的12点30分。

java8之LocalDate类简介_a3355211200的博客-CSDN博客_localdate类 localdate详解

//字符串转换localdate
String str = "2019-01-11";
DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy-MM-dd");
LocalDate localDate = LocalDate.parse(str, formatter);
//返回 1970 年 1 月 1 日与yyyy-MM-dd之间的毫秒数:
​
//我超,报错了,谁来救救孩子
上一篇:[android]-如何在向服务器发送request时附加已保存的cookie数据


下一篇:在android中获取所有应用和所有widget