当前位置:首页 » 安卓系统 » android枚举的使用

android枚举的使用

发布时间: 2022-12-27 00:28:12

❶ Android 怎么自定义枚举类型的值

public enum enumName
{
SUCCESS(0),

FAIL(1);

private final int mValue;

private enumName(int value)
{

mValue = value;

}
}

❷ android 静态常量和枚举哪个好

常量是直接编译在代码中的,而枚举则是一种类,你可以通过反射根据值反查出它的枚举形式是什么。


枚举定义了值的范围,但是常量没有。所以要根据你的实际情况选择。

比如你有一个变量,是中国所有的省,那么最好用枚举,因为这些是固定不变的。在代码里使用的时候更方便,也易懂。

❸ android intent 可以传递enum 吗

android intent 可以传递enum

使用Intent便捷方式

这些方法是直接存取Intent所携带的Bundle中的数据

❹ Android 怎么自定义枚举类型的值

static final通常跟的是一个int类型的常数,所以有时候可以用int型代替枚举 在有些时候需要输出这个枚举量的名字(比如January),上面的方法输出的是int值,用类的话可以把名字一起输出 总的来说前者消耗资源比较少,后者更符合枚举的定义 枚举的确是一个类,在JDK1.4及以前,没有enum这个用法,那时候都是使用类来建立的,在《java编程思想》中介绍了一类写法(详见第三版的章节8.1.3群组常量);JDK5以后,enum被引入,本质上就是一个类,所以可以被继承,总体思路和第三版这个写法类似,只是换了个名字(《Java编程思想》第四版第19章专门讲这个) 补充:我把早期的例子给出吧,你看一下,这就是早期的枚举的方法: public final class Month{ private String name; private Month (String nm){name=nm;} public String toString(){return name;} public static final Month JAN=new Month("January"), FEB=new Month("February"), MAR=new Month("March"), APR=new Month("April"), MAY=new Month("May"), JUN=new Month("June"), JUL=new Month("July"), AUG=new Month("August"), SEP=new Month("September"), OCT=new Month("October"), NOV=new Month("November"), DEC=new Month("December"); public static final Month month[]={ JAN,FEB,MAR,APR,MAY,JUN,JUL,AUG,SEP,OCT,NOV,DEC }; public static final Month number(int ord){ return month[ord-1]; } //main public static void main(String args[]){ Month m=Month.JAN; System.out.println(m); m=Month.number(12); System.out.println(m); System.out.println(m==Month.DEC); System.out.println(m.equals(Month.DEC)); System.out.println(Month.month[3]); System.out.println(Month.APR); } }

❺ Android 怎么自定义枚举类型的值

在已知可能输入值情况下,我们常常会用到枚举类型。在java中,怎么自定义枚举类型的值呢?请参考如下代码:

[java] view plain
public enum Point {
Satisfaction(1), Dissatisfied(-1);
private final int val;

private Point(int value) {
val = value;
}

public int getValue() {
return this.val;
}
}

在调用的时候,可以用Point.Satisfaction 和Point.Dissatisfied,如下所示:

[java] view plain
Judge(mContenxt, mGuid, Point.Dissatisfied);

在方法Judge中,可以用getValue获取枚举的值。如下所示:
[java] view plain
public void Judge(Context context,String logGuid, Point point){
int point = point.getValue();

}

❻ 为什么说android使用enum效率低,浪费方法数

现在不会了,新版本JDK做了优化,效率高了很多,而且使用也变方便了。

enum语法(定义):

创建枚举类型要使用 enum 关键字,隐含了所创建的类型都是 java.lang.Enum 类的子类(java.lang.Enum 是一个抽象类)。枚举类型符合通用模式 Class Enum<E extends Enum<E>>,而 E 表示枚举类型的名称。枚举类型的每一个值都将映射到 protected Enum(String name, int ordinal) 构造函数中,在这里,每个值的名称都被转换成一个字符串,并且序数设置表示了此设置被创建的顺序。

[java] view plainprint?
package com.ysm.test;
/**
* 枚举测试类
* @author <a href="mailto:[email protected]">何明旺</a>
*/
public enum EnumTest {
MON, TUE, WED, THU, FRI, SAT, SUN;
}

这段代码实际上调用了7次 Enum(String name, int ordinal):

[java] view plainprint?
new Enum<EnumTest>("MON",0);
new Enum<EnumTest>("TUE",1);
new Enum<EnumTest>("WED",2);
... ...

遍历、switch 等常用操作:

对enum进行遍历和switch的操作示例代码:

[java] view plainprint?
public class Test {
public static void main(String[] args) {
for (EnumTest e : EnumTest.values()) {
System.out.println(e.toString());
}

System.out.println("----------------我是分隔线------------------");

EnumTest test = EnumTest.TUE;
switch (test) {
case MON:
System.out.println("今天是星期一");
break;
case TUE:
System.out.println("今天是星期二");
break;
// ... ...
default:
System.out.println(test);
break;
}
}
}

输出结果:

[java] view plainprint?
MON
TUE
WED
THU
FRI
SAT
SUN
----------------我是分隔线------------------
今天是星期二

enum 对象的常用方法介绍:

int compareTo(E o)
比较此枚举与指定对象的顺序。

Class<E> getDeclaringClass()
返回与此枚举常量的枚举类型相对应的 Class 对象。

String name()
返回此枚举常量的名称,在其枚举声明中对其进行声明。

int ordinal()
返回枚举常量的序数(它在枚举声明中的位置,其中初始常量序数为零)。

String toString()
返回枚举常量的名称,它包含在声明中。

static <T extends Enum<T>> T valueOf(Class<T> enumType, String name)
返回带指定名称的指定枚举类型的枚举常量。

[java] view plainprint?
public class Test {
public static void main(String[] args) {
EnumTest test = EnumTest.TUE;

//compareTo(E o)
switch (test.compareTo(EnumTest.MON)) {
case -1:
System.out.println("TUE 在 MON 之前");
break;
case 1:
System.out.println("TUE 在 MON 之后");
break;
default:
System.out.println("TUE 与 MON 在同一位置");
break;
}

//getDeclaringClass()
System.out.println("getDeclaringClass(): " + test.getDeclaringClass().getName());

//name() 和 toString()
System.out.println("name(): " + test.name());
System.out.println("toString(): " + test.toString());

//ordinal(), 返回值是从 0 开始
System.out.println("ordinal(): " + test.ordinal());
}
}

输出结果:

[java] view plainprint?
TUE 在 MON 之后
getDeclaringClass(): com.hmw.test.EnumTest
name(): TUE
toString(): TUE
ordinal(): 1

❼ android怎么移除枚举

android怎么移除枚举用注解替换枚举这里的替换应该来说是部分场景替换,也就是上面的非扩展场景的使用替换。

❽ 枚举算法的使用

枚举类型在使用中有以下规定:
枚举值是常量,不是变量。不能在程序中用赋值语句再对它赋值。例如对枚举weekday的元素再作以下赋值: sun=5;mon=2;sun=mon; 都是错误的。
枚举元素本身由系统定义了一个表示序号的数值,从0 开始顺序定义为0,1,2…。如在weekday中,sun值为0,mon值为1, …,sat值为6。
例如:
#include<stdio.h>
int main()
{
enum weekday{sun,mon,tue,wed,thu,fri,sat };
weekday a,b,c; //将a,b,c定义为枚举变量
a=sun;
b=mon;
c=tue;
printf(%d,%d,%d,a,b,c);
return 0;
}
运行结果为:0,1,2
枚举值也可以用来做判断比较。如:if(mon>sun) …
枚举变量的值可以由程序员自己定。如:
enum weekday{sun=7,mon=1,tue,wed,thu,fri,sat};
定义sun为7,mon为1,以后按顺序加1,即wed=3。

❾ 什么是枚举,怎么用

枚举通过使用enum,可以创建一个新的类型,并且制定它可以具有的值(实际上是INT型的,虽然大多用字符来枚举,可是这些字符都代表的是INT型的整数常量)主要的使用目的是为了增加程序的可读性。

简单来说,就是我们在选择分支的时候,可以定义一个变量来确定各个分支的顺序,比如0,1,2,3,4,。。但是这样不好读,尤其是编写者之外的人读,很让人费解,这个时候可以,0.1.2,3,4.。。赋予一些实际的含义。典型的例子:
比如我们可以这样用:
enum spectrum {red,orange,yellow,green,blue,violet};
enum spectrum color;
以上定义了color的可能值red,orange等等。
以下是应用:
int c;
color=blue;
if (color == yellow)
....;
这些都是我自己所学到,所理解的

❿ Android Context操作模式四种枚举

Context.MODE_PRIVATE:默认操作模式,代表该文件是私有数据,创建的文件只能由调用应用程序(或共享该应用程序的所有应用程序)访问,在该模式下,写入的内容会覆盖原文件的内容

Context.MODE_WORLD_READABLE:表示当前文件可以被其他应用读取

Context.MODE_WORLD_WRITEABLE:表示当前文件可以被其他应用写入

Context.MODE_APPEND:如果文件已经存在则将数据写入现有文件的末尾,否则就创建新文件

热点内容
scratch少儿编程课程 发布:2025-04-16 17:11:44 浏览:619
荣耀x10从哪里设置密码 发布:2025-04-16 17:11:43 浏览:347
java从入门到精通视频 发布:2025-04-16 17:11:43 浏览:62
php微信接口教程 发布:2025-04-16 17:07:30 浏览:288
android实现阴影 发布:2025-04-16 16:50:08 浏览:781
粉笔直播课缓存 发布:2025-04-16 16:31:21 浏览:334
机顶盒都有什么配置 发布:2025-04-16 16:24:37 浏览:197
编写手游反编译都需要学习什么 发布:2025-04-16 16:19:36 浏览:791
proteus编译文件位置 发布:2025-04-16 16:18:44 浏览:350
土压缩的本质 发布:2025-04-16 16:13:21 浏览:578