zoukankan      html  css  js  c++  java
  • java valueOf

    valueOf 方法可以将原生数值类型转化为对应的Number类型,java.lang.Number 基类包括ouble、Float、Byte、Short、Integer 以及 Long派生类,

    也可以将string,原始数值转化为String对象

    还可以将字符串转化为对应的枚举对象(实际是 根据枚举变量的name来获取枚举变量的值)

    Java中泛型Class<T>、T与Class<?>

    一.区别

    单独的T 代表一个类型 ,而 Class<T>代表这个类型所对应的类, Class<?>表示类型不确定的类

    复制代码
     E - Element (在集合中使用,因为集合中存放的是元素)
     T - Type(Java 类)
     K - Key(键)
     V - Value(值)
     N - Number(数值类型)
     ? -  表示不确定的java类型
    
    举例说明: 
    Set<T> 表示 集合里 是   T类的实例 
    List<E> 表示  集合里 是  E类的实例 
    List<?> 表示 集合里的对象类型不确定,未指定 
    List 同 List<?> 是一样的。 
    
    泛型的作用: 
    1、用泛型: 
    Java代码  收藏代码
    List<T> list=new ArrayList<T>();  
    T t=list.get(0);  
    
    2、不用泛型: 
    Java代码  收藏代码
    List  list=new ArrayList();  
    T t=(T)list.get(0);
    复制代码

    二、如何创建一个Class<T>类型的实例?

          就像使用非泛型代码一样,有两种方式:调用方法 Class.forName() 或者使用类常量X.class。      Class.forName() 被定义为返 回 Class<?>。另一方面,类常量 X.class 被定义为具有类型 Class<X>,所 以 String.class 是Class<String> 类型的。

    三、方法中为什么需要<T> T修饰呢

    泛型的声明,必须在方法的修饰符(public,static,final,abstract等)之后,返回值声明之前。

    public static <T> T request2Bean(HttpServletRequest request,Class<T> clazz){}

    其中第一个<T>是与传入的参数Class<T>相对应的,相当于返回值的一个泛型,后面的T是返回值类型,代表方法必须返回T类型的(由传入的Class<T>决定)

    四、java枚举类型enum值与整数的转换

    java编程中偶尔会用到枚举,为了直观,我们通常将枚举值设置为形象的单词,方便理解和使用。枚举类型相当于数据库

    中字典表,但是枚举只有字典表的值,缺少其他用来表示和值一一对应的字段,当我们在数据库中保存一个对应枚举类型

    的列,我们希望保存的是类似0,1,2,3,4这样的数字,然后,表现在实体对象中,我们希望看到的是具有语义并且形象的字

    符串,因此编码过程中,我们会对枚举的值做一个映射。定义枚举语法如下:

    public enum APPTYPE {
    install,
    download,
    click,
    datareport
    feedback
    }
    这样,一个枚举类型的变量APPTYPE就声明好了。接下来就会使用这个枚举类型。枚举类型对外提供了这样几个方法。
    values():返回枚举值的数组
    ordinal():返回枚举值在枚举元素数组中的下标
    name():返回枚举值的字符串,相当于toString(),枚举的名称和枚举的值一样,一个是字符串类型,一个枚举类型
    通过这几个方法我们可以方便来对枚举值和整数做映射。

    例如我们想知道click对应的整数,可以通过APPTYPE.click.ordinal(),得到整数2

    想知道3对应枚举中的值,可以通过APPTYPE.values()[3]来得到。

     枚举相当于class,每个枚举项是通过枚举的private构造函数构造出来的实例

  • 相关阅读:
    Oracle在linux下的开机自启动(详细)转
    Xlib: connection to ":0.0" refused by server Xlib: No protocol specified解决方案
    java Comparable和Comaprator的对比
    java异常——RuntimeException和User Define Exception
    堆排序
    Java实现 蓝桥杯 算法提高 复数四则运算
    Java实现 蓝桥杯 算法训练 约数个数
    Java实现 蓝桥杯 算法训练 约数个数
    Java实现 蓝桥杯 算法提高 01背包
    Java实现 蓝桥杯 算法提高 判断名次
  • 原文地址:https://www.cnblogs.com/fpcbk/p/11013884.html
Copyright © 2011-2022 走看看