精华内容
下载资源
问答
  • Java switch支持的数据类型

    千次阅读 2019-06-12 15:45:50
    随着Java的不断发展,switch支持的数据类型也有了变化,下面就来讲述switch如何来实现对新增数据类型的支持。 支持的数据类型 基本数据类型:int,byte,short,char 基本数据类型封装类:Integer,Byte,Short...

    随着Java的不断发展,switch支持的数据类型也有了变化,下面就来讲述switch如何来实现对新增数据类型的支持。

    支持的数据类型

    • 基本数据类型:int,byte,short,char
    • 基本数据类型封装类:Integer,Byte,Short,Character
    • 枚举类型:Enum(JDK 5+开始支持)
    • 字符串类型:String(JDK 7+ 开始支持)

    实现

    switch底层是使用int类型来判断的,int类型是四个字节的整数型类型,所以只要字节小于或等于4的整数型类型都是可以转化成int类型的,所以支持byte[1字节],short[2字节]都是可以理解的,long[8字节]超出了int的范围,因而不支持。关于枚举和字符(串)也是转化为int类型间接实现的。关于这一点,我们可以验证的,下面举例验证switch如何实现对枚举数据类型的支持。直接上代码:

    public class SwitchTest {
    
    	public static void main(String[] args) {
    		Color color = Color.YELLOW;
    
    		switch (color) {
    		case RED:
    			System.out.println("RED:" + color.getName());
    			break;
    		case YELLOW:
    			System.out.println("GREEN:" + color.getName());
    			break;
    		case BLUE:
    			System.out.println("BLUE:" + color.getName());
    			break;
    		case BLANK:
    			System.out.println("BLANK:" + color.getName());
    			break;
    		default:
    			System.out.println("DEFAULT");
    			break;
    		}
    	}
    	
    	public enum Color {
    		
    		RED("红色", 1), 
    		YELLOW("绿色", 2), 
    		BLUE("蓝色", 3), 
    		BLANK("黑色", 4);
    		
    		private String name;
    		private int index;
    
    		private Color(String name, int index) {
    			this.name = name;
    			this.index = index;
    		}
    
    		public static String getName(int index) {
    			for (Color c : Color.values()) {
    				if (c.getIndex() == index) {
    					return c.name;
    				}
    			}
    			return null;
    		}
    
    		public String getName() {
    			return name;
    		}
    
    		public void setName(String name) {
    			this.name = name;
    		}
    
    		public int getIndex() {
    			return index;
    		}
    
    		public void setIndex(int index) {
    			this.index = index;
    		}
    		
    	}
    
    }

    编译后生成了SwitchTestColor.classSwitchTest.classSwitchTest.classSwitchTestColor.class和SwitchTest.class两个文件,打开编译成SwitchTest.class的过渡文件SwitchTestColor.class:

    在这里插入图片描述
    我们发现多了一个数组Color[] arrayOfColor,原来枚举是再编译的过程中产生了一个新的数组,switch是通过转化成数组的形式来实现对枚举类型的支持。
    我们通过相同的方式也可以看到switch对String类型的支持也是通过将String转化为int类型得以实现的,这里就不再赘述。
    switch对四种基本数据类型封装类的支持是通过对封装类的拆箱来实现的点击了解
    注意封装类不能为null,否则会报空指针异常的。

    展开全文
  • Java中switch语句支持的类型 支持的类型:byte、short、int、char 不支持的类型:float、double、long、boolean 在JDK1.5之后,switch语句支持了枚举(enum) 在JDK1.7之后,switch语句支持了字符串(String)

    Java中switch语句支持的类型

    支持的类型:byte、short、int、char
    不支持的类型:float、double、long、boolean

    在JDK1.5之后,switch语句支持了枚举(enum)
    在JDK1.7之后,switch语句支持了字符串(String)

    展开全文
  • Java支持的数据类型

    2014-03-23 12:54:48
    基本类型: 引用类型

    基本类型:


    引用类型:



    展开全文
  • java的switch支持的类型

    千次阅读 2013-07-01 20:17:24
    Java7之前,switch只能支持 byte、short、char、int或者其对应封装类以及Enum类型。在Java7中,呼吁很久String支持也终于被加上了。 例如,下面是一段switch中使用String示例代码。 public ...
    在Java7之前,switch只能支持 byte、short、char、int或者其对应的封装类以及Enum类型。在Java7中,呼吁很久的String支持也终于被加上了。
    
    例如,下面是一段switch中使用String的示例代码。
    public class Test {
    
        public void test(String str) {
            switch(str) {
            case "abc":
                System.out.println("abc");
                break;
            case "def":
                System.out.println("def");
                break;
            default:
                System.out.println("default");
            }
        }
    
    }


    在switch语句中,String的比较用的是String.equals,因此大家可以放心的使用。
    需要注意的是,传给switch的String变量不能为null,同时switch的case子句中使用的字符串也不能为null。
    展开全文
  • java switch支持的数据类型

    千次阅读 2016-12-01 09:03:28
    JAVA支持的数据类型有五种 他们分别是: byte、char、short、int、枚举 以上是JDK1.6以前的版本。JDK1.7时,又增加了String,所以相对于JDK1.7而言就是六种了 分别是:byte、char、short、int、枚举 、String
  • 2020年支持java8的Java反编译工具汇总

    万次阅读 多人点赞 2018-06-29 10:58:53
    luyten是一款操作简单、功能实用的java反编译工具,软件支持*.JAR、*.zip、*.class等类型文件反编译操作,还原度非常高,支持更多功能设置,如显式导入、类型、合成组件等等,用户可根据不同需求选择合适显示...
  • Java注解成员支持的类型

    千次阅读 2017-01-03 10:20:18
    Java中,注解成员类型是有限,例如下面示例:@Documented @Retention(RetentionPolicy.RUNTIME) @Target(ElementType.ANNOTATION_TYPE) public @interface Target { /** * Returns an array of the kinds ...
  • 每日趣味问答来了 大厂面试题: 下面switch语句中,x可以是哪些类型的数据:() switch(x) { default: System.out.println(“Hello”);...java8,switch支持10种类型 基本类型:byte char short int 包装类 :Byte
  • 一般格式: switch (表达式) { case 值1:执行语句1; break; case 值2:执行语句2;  break; … case 值n:执行语句n;...JDK1.6(及之前版本)支持byte,char,short,int ...JDK1.7新特性支持了String类型
  • 我们都知道java的switch支持6种数据类型:int、可以转换为intbyte、char、short以及String和枚举类型。那么支不支持基本类型的包装类型呢? 包装类型能放在switch后面吗? 下面两段代码都能正常运行并输出 1 ,...
  • Java支持的8种基本数据类型

    万次阅读 2018-07-14 20:44:39
    列举 byte(字节型)、short(短整型)、int(整型)、long(长整型)、float(单精度浮点型)、...java.lang.Byte、java.lang.Short、java.lang.Integer、java.lang.Long、java.lang.Float、java.lang.Doubl...
  • Java 中switch语句所支持一下类型Java版本 支持类型 小于1.5 byte,short,int,char等基本类型及其包装类 ...1.long、float、double、boolean四种基本类型以及它们包装类(在Java所有版本中
  • Java数据类型的分类

    千次阅读 2013-07-11 10:12:15
    java支持的类型分为两类:基本类型和引用类型 一、基本类型 基本类型包括boolean类型和数值类型。 数值类型包括整数类型和浮点类型。 (1)整数类型包括byte、short、int、long、char类型。 (2)浮点类型包括...
  • java中switch支持的类型

    千次阅读 2014-04-18 20:35:37
    在JDK1.6版本中,switch后面括号里面只能放int类型的值,注意是只能放int类型, 但是放byte,short,char类型的也可以。 是因为byte,short,shar可以自动提升(自动类型转换)为int。 而不能放long型...
  • java虚拟机动态类型语言支持

    千次阅读 2017-08-30 18:59:34
    这篇博客是根据《深入理解java虚拟机》讲解和本人对动态类型语言一些认识,来深度剖析一下java虚拟机对动态类型语言的支持
  • Java7之前,switch只能支持 byte、short、char、int 或者其 对应封装类 以及Enum 类型。在Java7中,呼吁很久 String 支持也终于被加上了。注:byte,short,char可以自动提升(自动类型转换)为int,其实最后...
  • java switch是如何支持String类型的

    万次阅读 2018-07-29 09:46:33
    那有没有同学思考过,java是如何支持String类型的? 我们看下面这段代码: public class SwitchString { public static void main(String[] args) { switch (args[0]) { case "A" :...
  • Java的数据类型

    2016-02-01 15:11:36
    Java是一门强类型语言,这就是说每个变量在使用前,必须先声明它的数据类型,然后才能使用。...Java支持的数据类型分为两种,基本数据类型和引用数据类型。 一、JAVA基本数据类型介绍 Java基本数据类型分为两类boolean
  • Java7之前 switch支持 byte、short、int、char或者他们对应封装类。 java7之后 在原有基础上加入了String类。
  • Java注解是java提供的一个很好的工具,那么在自定义注解的时候,其内部成员可被允许的类型又有哪些呢?根据 JLS中章节9.6.1 的说明,Java中注解成员的类型必须是如下几类: 1. 基本数据类型(boolean, byte, char, ...
  • 5.Java 支持的数据类型有哪些?什么是自动拆装箱?    Java 语言支持的 8 中基本数据类型是:    byte short int long float double boolean char 自动装箱是 Java 编译器在基本数据类型和对应的对象包装类型...
  • Java的类型推断和lambda表达式

    千次阅读 2020-05-26 06:49:39
    java是强类型的编程语言,每个java中使用到的变量都需要定义它的类型,否则会编译失败。强类型语言的好处就是可以尽可能的在编译期间就发现代码中可能出现的问题,从而减少在运行时出现问题的可能性。 相对的,强...
  • Java支持8种基本的的数据类型,byte short int long float double char boolean 下表列出是他们各自对应包装类以及所占字节数 类型 包装类 字节数 byte Byte 1 short Short 2 int Integer 4 long ...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 19,257
精华内容 7,702
关键字:

java支持的类型

java 订阅