zoukankan      html  css  js  c++  java
  • 泛型与枚举

    1:集合当中使用泛型:

    【1】统一集合当中的数据类型,更方便的操作数据。

    【2】参数化的类型

    【3】规定要操作的数据类型

    2:泛型类||泛型方法||泛型接口

    【1】泛型表示:大写字母

    【2】默认为object;自定义 T E V K

    [!]:泛型方法与泛型类中的方法区别

         泛型形参   &&&  泛型实参

    【3】通常来说:不会对泛型方式传入的数据操作!|||用反射也是特殊场景。【本身对操作什么数据类型不明确!

    【4】泛型鳄梨和泛型接口的泛型,在实现或者继承的情况下,重写或者结成的方法,泛型参数和返回值类型必须保证类型一致。

    【5】泛型接口必须指定,而实现类可以不必指定!如果不指定,则沿用其接口的泛型类型。

    3:泛型通配符 <?> :既可以规定泛型形参,也可以规定泛型实参!

    [1]? 代表任意泛型; ?是泛型实参,不是泛型形参!

    <? extends Number>

    <? super Object>

    ??<? implements C>

    4:泛型方法:该方法的泛型是独立在当前方法当中,不与该类当中的其他方法公用同一个类型。

    【1】在方法的修饰符和返回值之间声明。

    枚举:不建议使用!!

    【1】枚举的构造必须是私有的!构造是针对所有的枚举的元素。

    【2】每一个枚举的元素都相当于一个类。

    【3】枚举中的类型是单例,有几个类型创建几个单例。

    【4】枚举元素(T t)---对应相应的构造方法!

    -接口组织枚举

    --枚举常见的问题:

    【1】有可能会大量产生单例{非致命的问题}

    【2】在网络当中,枚举和很多主流的数据结构不兼容。{web开发中}

    异常的本质:标识!

    【1】捕获异常

    【!】不要把一个代码块中所有的代码都放在一个try…catch 代码块中捕获异常中!

    【2】自动抛出异常

    {!}异常最终抛无可抛,则必须进行处理。

    在中途被处理过的异常,则调用者就不必再处理了。

    【3】手动抛出异常

    ---根据使用者的实际情况!

    ---运行时异常不是必须被处理的!

    ---checked异常时必须被处理的异常!


    [4]自定义异常

    ---创建一类类,符合异常命名规范

    包装类:

    【1】Java当中,JDK为基本数据类型设定了包装类。——集合中必须用包装类

    【2】NumberFormatException:对于数值,其包装类型的构造和方法当中,如果用了不属于数值的书写方式,报前所述异常。ex: “123aabc” 、 “123L”、”234D”等

    【3】字符的包装类型,只有其本身类型的构造,没有字符串类型参数的构造。ex: ‘A’ ;

    【4】布尔类型的包装类: s!=null && s.equalsIgnoreCase(“true”);才会返回 true.否则,任意其他类型或NULL 为 false.

    包装类性的方法:

    【1】XXvalue():包装类变为基本数据类型。 intValue()、byteValue(){对象调用 }

    【2】Integer.toString(123) || 对象.toString()  ||  123+””

    【3】Integer.parseInt(“123”)   将字符串变为基本数据类型

    【4】Integer.valueOf(123)   || Integer.valueOf(“123”)   把基本数据类型或者字符串变为包装类型

    自动装箱、自动拆箱

    ---针对自己的框架设计相应的包装类型,如 Hadoop当中

    【5】在尾部工程当中的实体类,其中作为参数的数值类型,通常都定义为包装类,因为包装类型有 null值。

    字符串

    【1】直接以双引号赋值,相当于常量。常量之间是相等的;

    【2】new出来的String对象存在于堆内存中,所以不可以与常量比较。

    【3】字符串对象.intern(),相当于一个常量。

    static常量,内存唯一

    【4】字符串的本质:char[]数组

    【5】equals(Object obj)源码

        (1)instanceOf String

        (2)比较长度

      (3)遍历数组

    【6】替换元素:replaceAll的匹配规则——正则表达式

    【7】注意: . 比较特殊,需要转义。

    ex: 字符串对象.split(“\.”)

    【8】获取字符串编码:以UTF-8的格式,获取当前字符串编码集

    String string = new String(str1.getBytes(“UTF-8”),”ISO-8859-1”);

    【9】字符串的拼接本质是操作数组,所以可以类比 ArrayList.add()grow()

    ---StringBuffer、StringBuilder,是一种高效扩展string对象。


    在实际的web开发当中,我们的应用,通常是被分配到某一个单独的线程里,除非他们处于常量状态,或者单例模式,使用StringBuffer。

    SimpleDateFormat

    sdf = new SimpleDateFormat(str formate);

    sdf.formate(Date date)

    Date dt = new Date();

    SimpleDateFormat myFmt=new SimpleDateFormat("yyyy年MM月dd日 HH时mm分ss秒 E "); return myFmt.format(dt);

    sdf.parse(str_date)


    使用Calendar的原因:

    -Calendar为单例模式

    -Date不唯一,程序执行中的生成Date对象的时间比较基准不唯一!


  • 相关阅读:
    Salesforce PDF报价单制作
    salesforce 按钮(js) 点击调用后台类(触发批准流)
    salesforce接收站点传过来的json,解析并序列化json,在保存到salesforce的个案以及测试类
    salesforce 简单的PDF报价单打印
    零配件入库 Trigger 插入触发台账和零配件更新
    salesforce客户信息打印
    诺基亚携手魔声发布Purity Pro无线立体声耳机
    DSP/BIOS用户手册与驱动开发阅读笔记1
    混响基础知识(转载百度百科)
    第3季DSP read list
  • 原文地址:https://www.cnblogs.com/macro-renzhansheng/p/12616732.html
Copyright © 2011-2022 走看看