在实际编程中,往往存在着这样的"数据集",它们的数值在程序中是稳定的,而且"数据集"中的元素是有限的.在JDK1.5之前,人们用接口来描述这一种数据类型. 1.5以后引入枚举 一:枚举类基本语法 定义: 创建枚举类型要使用 enum 关键字,如果是想声明简单枚举,属性之间用逗号相隔 :如果是属性带id,类似(male(1))这种还需要一个带id的构造方法 简单枚举类: public enum ColorEnum { red, green, yellow, blue;…
在前边的博文中,我已经介绍了Java核心的容器IO等,现在我来说一下java中的数据类型.在java中,一切东西皆为对象(这句话意思是java中绝大数情况都用对象),极少数不是对象的,也存在与之对应的对象(比如基本数据类型存在与之对应的包装类,数组有List对象可以代替) Java中数据类型 主要有“基本数据类型”.“String”.“引用类型” (基本的引用类型不多做介绍,在下一篇博文中着重介绍“枚举”,也算是引用类型的一种) 一:基本数据类型 1.1基本数据类型的定义 byte.char.i…
在前边的博文中,我已经介绍了Java核心的容器IO等,现在我来说一下java中的数据类型.在java中,一切东西皆为对象(这句话意思是java中绝大数情况都用对象),极少数不是对象的,也存在与之对应的对象(比如基本数据类型存在与之对应的包装类,数组有List对象与之对应) Java中数据类型 主要有基本数据类型,String ,(我考虑了好久,还是决定把枚举也当作是java数据类型,因篇幅问题,放到下一遍博文中说明) 一:基本数据类型 基本数据类型的定义 int float double cha…
在实际编程中,往往存在着这样的"数据集",它们的数值在程序中是稳定的,而且"数据集"中的元素是有限的.在JDK1.5之前,人们用接口来描述这一种数据类型. 1.5以后引入枚举 一:枚举类基本语法 定义: 创建枚举类型要使用 enum 关键字,如果是想声明简单枚举,属性之间用逗号相隔 :如果是属性带id,类似(male(1))这种还需要一个带id的构造方法 简单枚举类: public enum ColorEnum { red, green, yellow, blue;…
运行时类型识别(RTTI, Run-Time Type Information)是Java中非常有用的机制,在java中,有两种RTTI的方式,一种是传统的,即假设在编译时已经知道了所有的类型:还有一种,是利用反射机制,在运行时再尝试确定类型信息. 本篇博文会结合Thinking in Java 的demo 和实际开发中碰到的例子,对Java反射和获取类型信息做总体上整理.文章主要分为三块: Java类加载和初始化 Java中RTTI Java利用反射获取运行时类型信息 一:Java类加载和初始…
一:Java类加载和初始化 1.1 类加载器(类加载的工具) 1.2 Java使用一个类所需的准备工作 二:Java中RTTI 2.1 :为什么要用到运行时类型信息(就是RTTI) 2.2  :RTTI在运行时如何表示 2.3   :  Class对象 2.3 : RTTI形式总结: 三:Java利用反射获取运行时类型信息 3.1 : 获取的方式 3.2 :   动态代理 四: Java反射在实际开发中应用 4.1  :在web项目中创建统一的拦截层 4.2 : 用于webService服务 :…
游戏开发中IIS常见支持MIME类型文件解析 .apkapplication/vnd.android .ipaapplication/vnd.iphone .csbapplication/octet-stream .plistapplication/xml .json application/json Atlasapplication/x-AtlasMate-Plugin .unity3dapplication/octet-stream…
java泛型是对Java语言的类型系统的一种扩展,泛型的本质就是将所操作的数据类型参数化.下面我会由浅入深地介绍Java的泛型. 一:泛型出现的背景 在java代码里,你会经常发现类似下边的代码: public class Test { public static void main(String[] args) { List list = new ArrayList(); list.add("hah"); //list.add(new Test()); // list.add(1);…
前言: Java 8推出已经将近2年多了,引入很多革命性变化,加入了函数式编程的特征,使基于行为的编程成为可能,同时减化了各种设计模式的实现方式,是Java有史以来最重要的更新.但是Android上,一直没有看到支持Java8的消息.Android到底会不会支持Java8呢?答案是肯定的,Android N已经开始支持Java 8 了. 关于Java 8 (1.)使用Lambda表达式 Java 8的一大亮点是引入Lambda表达式,使用它设计的代码会更加简洁.当开发者在编写Lambda表达式时…
IO是java绕不过去的槛,在开发中io无处不在, 正如同 世界上本没有路,java io写多了,也就知道了大体是什么意思,在读完thinking in java 感觉就更清晰了,结合具体的业务场景,整理一下 ,什么是IO.为什么JAVA要这么设计IO. 先来一道开胃菜 我想要读取控制台输入的字符 解释一下:我从控制台读取一行字符,然后打印一下.这就是一个简单的流了. 整理一下: 就是我先 得到一个用于读取 控制台输入的流,然后 我·打印我得到的东西,这里有个细节就是 流一定得关闭,这是底线,关…
开发中需要根据下拉框的选择处理一些业务逻辑,使用ID值或Text值都不利于代码维护,所以可以写个扩展方法绑定到枚举上. public static class Extensions { /// <summary> /// 绑定ComboBoxEx数据源到枚举类型 /// </summary> /// <param name="cmb"></param> /// <param name="enumType">…
  一  常见枚举的定义: typedef enum { LOGIN_SUCCESS, USER_NAME, USER_PASSWORD, OLD_LAT, OLD_LNG }FIELD_SAVED;   二 在iOS6和Mac OS 10.8以后Apple引入了两个宏来重新定义这两个枚举类型,实际上是将enum定义和typedef合二为一,并且采用不同的宏来从代码角度来区分.  typedef NS_ENUM(NSInteger, UIViewAnimationTransition) { UI…
Tips 书中的源代码地址:https://github.com/jbloch/effective-java-3e-source-code 注意,书中的有些代码里方法是基于Java 9 API中的,所以JDK 最好下载 JDK 9以上的版本. 89. 对于实例控制,枚举类型优于READRESOLVE 条目 3描述了单例(Singleton)模式,并给出了以下示例的单例类. 此类限制对其构造方法的访问,以确保只创建一个实例: public class Elvis { public static f…
因为C#中没有提供 Switch on Type 的功能,因此要判断类型通常会用一长串的if else,当然这种写法的问题是不够高效,且不够美观.因此 C# 中对常见类型提供了一组枚举值,也就是 TypeCode(这个枚举类型在.NET for Windows App Store 中居然被取消了,大概是因为DBNull这个类型本身也被取消了,这个值没有对应的类型了,干脆连TypeCode就一起取消了).可以使用 Type.GetTypeCode 方法来得到类型对应的枚举值,之后对得到的枚举值进行…
我是用VS2008和VS2010开发.NET程序,通过MyEclipse8.5开发JAVA程序,下面从IDE.语言.插件的不同点来做下简单的说明.但由于经验知识还有限,本篇文章只能从比较表面的以及自己常用的功能点来说明我所看到的不同点. IDE的不同点: 给我的第一感觉就是MyEclipse在开发过程编写查看代码也非常便利,甚至有很多VS没有的功能,下面列举自己现在遇到的一些不同点: 1.MyEclipse没有像VS里的#region,#endregion一样的代码段区域,在一个方法或类里,可以…
在实际项目的开发过程Fragment的情况越来越多.大家肯定须要遇到过Fragment被销毁重建的情况. 结合自己在项目开发的一点总结和学习开源项目的代码.继续分享自己对Fragment的一点总结. 1.Fragment保存销毁前状态究竟保存什么? 我们知道Fragment的实例会在多种情况下被系统销毁回收掉.当我们的Fragment又一次回到屏幕前,我们想要的还是销毁前的状态.因此.我们在Fragment被销毁掉的时候,我们须要保存Fragment的状态. 以下回到我们的问题,Fragment…
一次完整的Android打包要进行以下的几步:编译.代码混淆.打包apk.签名apk.apk优化. 为了能包涵使用NDK的情况,在这里使用一个有native代码的工程TestJni. 在工程根目录下新建local.properties文件,输入sdk和ndk的路径 例如: sdk.dir=D:\\Android\\android-sdkndk.dir=D:\\Android\\android-ndk 在工程根目录下新建build.xml,输入代码 <?xml version="1.0&qu…
1.在iis中直接设置 .obj application/octet-stream .mtl application/octet-stream 2.在配置文件中加 <?xml version="1.0" encoding="utf-8"?> <!--  有关如何配置 ASP.NET 应用程序的详细消息,请访问  http://go.microsoft.com/fwlink/?LinkId=169433  --> <configurati…
最近开始使用VS2010,在引用COM组件的时候,出现了“无法嵌入互操作类型……,请改用适用的接口”的错误提示. 查阅资料,找到解决方案,记录如下: 选中项目中引入的dll,鼠标右键,选择属性,把“嵌入互操作类型”设置为False. 这样做的原因: 1.”嵌入互操作类型”中的嵌入就是引进.导入的意思,类似于c#中using,c中include的作用,目的是告诉编译器是否要把互操作类型引入. 2.“互操作类型”实际是指一系列Com组件的程序集,是公共运行库中库文件,类似于编译好的类,接口等. 3.…
事件处理的事件传递 简介: 发生触摸事件后,系统会将该事件加入到一个由UIApplication管理的事件 队列中,UIApplication会从事件队列中取出最前面的事件,并将事件分发下去以便处理,通常,先发送事件给应用程序的主窗口(keyWindow) UIView不接受触摸事件的三种情况: 不接收用户交互userInteractionEnabled = NO 隐藏hidden = YES 透明alpha = 0.0 ~ 0.01 提示:UIImageView的userInteraction…
本文由咕咚发布在个人博客,转载请注明出处. 本文永久地址:https://gudong.name/2019/11/04/use-enum-or-not.html 在 Android 官方文档推出性能优化的时候,从一开始有这样一段说明: Enums often require more than twice as much memory as static constants. You should strictly avoid using enums on Android. 意思是说在 Andr…
1.基本enum特征 所有创建的枚举类都继承自抽象类 java.lang.Enum; 一个枚举类,所有实例都要在第一句写出以 ,隔开. 如果只有实例最后可以不加 : 枚举类因为继承了Enum,所以再不能继承别的类,任何类也不能继承枚举类(构造器默认为private). public enum Color { RED, BLUE, YELLOW, PURPLE } 注意 :RED,BLUE 这些是由 enum Color类调用默认private构造器创建的实例对象,和普通class相比只不过enu…
将变量的可取值全部列举出来,写在程序的开头,使用该类型的时候显示地指定取值即可(即对枚举变量进行赋予元素操作,这里之所以叫赋元素操作不叫赋值操作就是为了说明枚举变量是不能直接赋予算数值的). 如: enum egg {a,b,c}; enum egg test;     //在这里可以简写egg test; test = c; 注: 1)          枚举类型具有默认值. 2)          枚举类型可以进行关系运算. 3)          要将整数值赋值给枚举类型时,要进行强制类型…
我们直接看样例: Map<String, String> mallMap = new HashMap<String, String>(); mallMap.put(MallStatus.SELFMALL.toString(),MallStatus.SELFMALL.getValue());mallMap.put(MallStatus.DELEGATIONMALL.toString(),MallStatus.DELEGATIONMALL.getValue());mallMap.put…
java中的两大数据类型 1.基本数据类型:也称作内置类型,java语言本身提供的基本数据类型是其他类型(包括java核心类和用户自定义类)的基础 2.引用数据类型:java语言根据基本类型扩展数的其他类型.列如:class.interface java的变量类型 java的基本数据类型 基本数据类型所占字节数 类型 字节 类型 字节 char 1 byte 1 short 2 int 4 long 8 float 4 double 8 boolean 不明确 java数据类型的转换 占字节小的…
一.主题:Python 开发个人微信号在运维开发中的使用 二.内容: 企业公众号 介绍开发微信公众号的后台逻辑,包括服务器验证逻辑.用户认证逻辑 个人微信号 面对企业微信的种种限制,可以使用 Itchat 模块开发个人服务微信号,实现自动回复,群发报警消息等功能.  个人微信号代码演示 Itchat模块代码实操,实现自动回复和执行指令的功能. 三.企业微信         1.微信后台服务验证         2. 用户权限校验逻辑 四.功能 API 介绍         1.自动回复    …
一.Enum的产生 Java1.5中引入了枚举的语法,包括Enum,EnumSet,EnumMap等.其中Enum就是我们在C或C++中见过的枚举类型,但是Java中的枚举又比C或C++中的枚举更成熟和复杂.在Java中,枚举算是一种特殊的类,也就是class,因此它可以做很多类相关的事情,而不仅仅是定义几个枚举值 二.Android官方建议 Android官网不建议使用enums,占用内存多(Enums often require more than twice as much memory…
JDK1.5引入了新的类型——枚举.在 Java 中它虽然算个“小”功能,却给我的开发带来了“大”方便. 1.用法一:常量 在JDK1.5 之前,我们定义常量都是: public static fianl....(这种方式在现在项目中也很常见) .现在好了,有了枚举,可以把相关的常量分组到一个枚举类型里,而且枚举提供了比常量更多的方法.而且枚举类型可以帮助我们检测许多的编译失误. 例如: package enumTest; public enum Color { RED,BLANK,YELLOW…
原文网址:http://iaiai.iteye.com/blog/1843553 1   背景 在java语言中还没有引入枚举类型之前,表示枚举类型的常用模式是声明一组具有int常量.之前我们通常利用public final static 方法定义的代码如下,分别用1 表示春天,2表示夏天,3表示秋天,4表示冬天. public class Season { public static final int SPRING = 1; public static final int SUMMER = …
1.背景在java语言中还没有引入枚举类型之前,表示枚举类型的常用模式是声明一组具有int常量.之前我们通常利用public final static 方法定义的代码如下,分别用1 表示春天,2表示夏天,3表示秋天,4表示冬天. public class Season { public static final int SPRING = 1; public static final int SUMMER = 2; public static final int AUTUMN = 3; publi…