- uniapp web-view调整修改高度设置
黑云压城After
前端uni-appjavascript
web-view默认占全屏,怎么处理自定义高度,实现如下:视频监控data数据:exportdefault{data(){return{urlType:null,webviewStyles:{progress:{color:"#FF3333"}},};},};核心代码:onLoad(options){//#ifdefAPP-PLUSletheight=0;//定义动态的高度变量letstatusb
- Mybatis如何书写
黄袜子的小希
mybatis数据库java
kh下面我们开始书写mybatis①首先开始的时候创建数据库和表结构:createdatabasemybatis_demo;usemybatis_demo;CREATETABLE`user`(`id`int(11)NOTNULLauto_increment,`username`varchar(32)NOTNULLCOMMENT'用户名称',`birthday`datetimedefaultNULL
- Qt Ribbon使用实例
依梦_728297725
QTc++ribbonSARibbon
采用SARibbon创建简单的ribbon界面实例代码如下所示:1、头文件:#pragmaonce#include#include"SARibbonMainWindow.h"classQTextEdit;classSAProjectDemo1:publicSARibbonMainWindow{Q_OBJECTpublic:SAProjectDemo1(QWidget*parent=Q_NULLPT
- SQL Server约束
昔舍
数据库c#笔记
###1.主键约束(PRIMARYKEY)-**作用**:用于唯一标识表中的每一行记录,确保表中不会存在两条主键值相同的记录,且主键列不允许为`NULL`。一个表只能有一个主键,但主键可以由多个列组成(复合主键)。-**示例**:--创建一个包含主键约束的表CREATETABLEStudents(StudentIDINTPRIMARYKEY,StudentNameNVARCHAR(50));```
- 【新春不断更】数据结构与算法之美:二叉树
<但凡.
数据结构与算法之美数据结构算法c++
Hello大家好,我是但凡!很高兴我们又见面啦!眨眼间已经到了2024年的最后一天,在这里我要首先感谢过去一年陪我奋斗的每一位伙伴,是你们给予我不断前行的动力。银蛇携福至,万象启新程。蛇年新春之际,愿你们万事顺遂,岁月皆安,新的一年所想皆如愿,所行皆坦途。好了,给生活添点passion,开始今天的编程之路!我的博客:left=NULL;p->right=NULL;p->x=a;returnp;}1
- 《Kotlin核心编程》中篇
张云瀚
kotlinkotlin核心编程
类型系统null的问题及解决方案1.null问题在传统编程语言如Java中,null引用是一个常见的错误根源,容易引发空指针异常(NullPointerException),这类错误往往难以在编译期发现,常在运行时出现,增加了调试成本。2.解决方案可空类型声明:Kotlin通过在类型后加?来表示可空类型,如String?。这使开发者在代码中明确标记可能为null的变量,增强代码的安全性与可读性。例
- 将Python程序打包为Windows安装包
bicart
服务器linuxpython开发语言windows前端
本文使用创作助手。如果你想将Python程序打包为Windows安装包,你可以使用NSIS(NullsoftScriptableInstallSystem)工具。NSIS是一个免费的Windows安装包创建工具。以下是使用NSIS将Python程序打包为Windows安装包的步骤:首先,确保你已经安装了NSIS。你可以从官方网站(https://nsis.sourceforge.io/Downlo
- Optional char parameter ‘questionNum‘ is present but cannot be translated into a null value
fengfeng N
前端javascript数据库
Optionalcharparameter'questionNum'ispresentbutcannotbetranslatedintoanullvalueduetobeingdeclaredasaprimitivetype.Considerdeclaringitasobjectwrapperforthecorrespondingprimitivetype.报错信息如上,错误信息指出,当尝试将一个
- null/nil, empty, blank对比
Like_wen
golang空nilnull
null/nil:表示对象为空empty:表示数组或容器为空或长度为0blank:表示字符串为空或空格字符串
- coxphfit+matlab,计算Cox比例风险模型的coxph和cph函数有什么区别?
Mandy Liu
coxphfit+matlab
RCS=受限立方样条。您可以通过查看help(package="rms")找到函数的帮助文件下面是源代码的摘录,所以你可以看到那里的cph函数调用coxph.fit功能(的coxph在survival包胆量)>cph[...]if(nullmod)f=NULLelse{ytype=attr(Y,"type")fitter=if(method=="breslow"||method=="efron")
- window.close() 关闭菜单不好使
guhy fighting
前端javascripthtml
前言:项目开发中有一个需求需要通过window.close()将浏览器的窗口关闭,使用window.close();没能有效关闭窗口,功能失效了。查找网上很多的解决办法,总结如下:1、window.close();2、window.opener=null;window.open('','_self');window.close()3、window.open(“about:blank”,“_self
- javax.validation.constraints.NotNull找不到
大叔是90后大叔
springbootJavajavaspringboot
javax.validation.constraints.NotNull找不到javax.validation.constraints.NotNull找不到使用范例附录javax.validation.constraints.NotNull找不到解决方案:需要在pom.xml中引入依赖org.springframework.bootspring-boot-starter-validation使用范
- 缓存穿透和缓存雪崩
AAA猪饲料批发李师傅
.NET.netcore缓存
缓存穿透问题stringcacheKey="Book"+id;//缓存键Book?b=memoryCache.Get(cacheKey);if(b==null)//如果缓存中没有数据{//查询数据库,然后写入缓存b=awaitctx.Set().FindAsync(id);memoryCache.Set(cacheKey,b);}使用IMemoryCache接口中的Get和Set设置缓存时,首先从
- 【开发日记】微信小程序getBackgroundAudioManager播放背景音乐提示播放失败
二饭
微信小程序小程序
【问题】小程序在手机上打开,播放在线音频的时候会提示播放失败,但打印异常提示的是src为null,自己在打印的时候却没问题。并且在微信开发者工具中播放的时候也是正常的,只有手机上打开使用时提示异常。【解决】如果你的链接中包含中文字符,请使用encodeURI(src)进行编码处理。示例代码如下:letsrc=this.data.host+this.data.previewUrl+this.data
- 重构进行时:一秒告别 !=null 判空
我码玄黄
Java后端教你一招java代码优化后端
重构进行时:一秒告别!=null判空空指针异常(NullPointerException)是Java开发中常见的错误之一。许多开发者在遇到空指针问题时,往往会习惯性地使用!=null来进行判断。然而,当代码中频繁出现这种判断时,不仅降低了代码的可读性,还增加了维护的复杂性。那么,有没有更高效、更优雅的方式来处理空指针问题呢?答案是肯定的。本文将探讨如何通过合理使用工具类来简化空指针的判断,并提升代
- flutter 使用webview_flutter出现‘android.view.ViewRootImpl.mWindowAttributes‘ on a null object reference
Sun_jinglun
flutter问题汇总flutterandroidwebview
问题描述:使用webview_flutter加载h5页面,对指定的页面地址进行拦截并跳转到新的page。跳转后出现如下错误信息:分析解决:发现两个页面所使用的Androidwebview并不是同一个page1:page2:修改为同一个后解决了这个问题。注:这个问题在Android设备没有出现,只出现在了HarmonyOS设备上。
- javase容器--集合框架
jameslogo
javajava
集合是非常重要的类型,和数组一样都是存数据的容器,但不同的是:它不固定大小可动态扩展存取灵活存放类型多样等集合框架有collection和map两大接口,Collection是传统集合接口,存储单个对象,Map是映射接口,存储键值对。集合类继承关系为Collection├List(有序集合,允许相同元素和null)│├LinkedList(非同步,允许相同元素和null,遍历效率低插入和删除效率高
- C语言学习(四)——字符串处理函数
Nonhap403!
C语言学习字符串处理函数
字符串处理函数(17个)1)gets()#include char *gets(char *s);功能:从标准输入读入字符,并保存到s指定的内存空间,直到出现换行符或读到文件结尾为止。参数:s:字符串首地址返回值:成功:读入的字符串失败:NULLgets(str)与scanf(“%s”,str)的区别:gets(str)允许输入的字符串含有空格scanf(“%s”,str)不允许含有空格注意:由于
- uniapp版本升级(app内部下载)
shuailing_coder
uniappuni-appvue.js
获取服务端返回的下载链接,以及版本号。import{//获取线上版本信息getVersonInfo}from'@/api/config.js'letversion='2.0.3';exportconstcheckUpdates=asyncfunction(){//是否强制更新letisForced=null;letdownlondUrl=null;awaitgetVersonInfo().then
- 【C语言】字符串操作函数详解
LuckiBit
C语言c语言c++javastringstrlenstrcpy
目录C语言字符串操作函数详解函数汇总1.`strlen`2.`strcpy`3.`strncpy`4.`strcat`5.`strncat`6.`strcmp`7.`strncmp`8.`strchr`9.`strrchr`10.`strstr`11.总结12.结束语相关文章:C语言字符串操作函数详解在C语言中,字符串是以null终止的字符数组。要使用字符串操作函数,首先需要包含相应的头文件:#i
- LEETCODE#234回文链表
Azanulbizar
LEETCODE
请判断一个链表是否为回文链表。1.前半段链表元素进栈,找到中间节点后边比较边出栈boolisPalindrome(ListNode*head){if(head==NULL||head->next==NULL)//特殊处理returntrue;ListNode*fast=head;ListNode*slow=head;ListNode*left=head;stacks;s.push(head->va
- 笛卡尔树模版
Colinnian
笛卡尔树
intmain(){std::ios::sync_with_stdio(false);std::cin.tie(nullptr);intn;std::cin>>n;std::vectora(n);for(inti=0;i>a[i];}//构建笛卡尔树std::vectorstk;std::vectorlc(n,-1),rc(n,-1);for(inti=0;ia[stk.back()]){intx
- PHP中的`null`和空值:理解与处理
m0_74823471
phpandroidjava
在PHP中,null和“空值”(空字符串、空数组等)是两个常常被混淆的概念,然而它们有着不同的语义和用途。对这两者的理解和合理处理,对于编写健壮和高效的PHP代码至关重要。本文将深入探讨PHP中null和空值的区别、使用场景以及如何高效处理它们。1.什么是null?在PHP中,null是一个特殊的标量类型,它表示变量“没有值”。null不仅仅是一个空的值,它还代表着该变量并未被赋予任何有效的值。在
- 什么是稀疏数组?
haughtyAndAnd
前端javascriptes6前端框架typescript
稀疏数组(SparseArray)是指数组中存在大量未定义(undefined)或空位(holes)的数组。也就是说,这种数组中的某些元素缺失,没有值。这与普通数组不同,普通数组中的每个索引都应该有一个值(即使是null或0)。在JavaScript中,稀疏数组通常表现为某些数组索引的位置没有值,或者值是undefined,但是这些位置仍然被认为是数组的一部分。创建稀疏数组1.使用Array构造函
- vue级联(el-cascader)方式作为表格查询条件( el-cascader报错 “TypeError: Cannot read properties of null (reading ‘le)
皓月当空hy
vuevue.jselementuijavascript
1、html结构:2、data中定义所需初始值:data(){return{formData:{name:'',//中文展示名称value:[]//当前被选中的提交后台参数},cascaderI
- 多数元素-投票算法
阿芯爱编程
算法面试java算法数据结构
//多数元素//输入:nums=[2,2,1,1,1,2,2]//输出:2//投票算法publicstaticintmajorityElement(int[]nums){//更新多的元素状态intcount=0;//选举结果Integercandidate=null;for(intnum:nums){//选出不同的多的元素if(count==0){candidate=num;}//num==can
- 深入RUST标准库内核(三)NonNull<T>/Unique<T>/mem::replace/Layout/GlobalAlloc
任成珺
rust开发语言后端
本书摘自《深入RUST标准库》,已经全网发售,恳请支持文章目录裸指针模块再分析NonNull代码分析NonNull创建关联方法NonNull类型转换方法NonNull方法NonNull的使用实例NonNull与MaybeUninit相关函数Unique代码分析mem模块函数泛型类型创建泛型类型拷贝与替换所有权转移的底层实现变量调用drop的时机其他函数RUST堆内存申请及释放RUST类型系统的内存
- 哈希链表:提高链表访问效率
SarahZhang0104
C++链表数据
链表由一系列节点构成,节点可以在运行中动态生成。使用链表结构能够克服数组链表需要预先知道数据大小的缺点,充分利用计算机内存空间,实现灵活的内存动态管理。当数据动态生成时,此时我们无法确知其数据大小,当然也无法进行判断了,而链表则可以解决此问题。针对上题文本数据,我们给出链表的解法。首先,我们要熟悉下链表的创建过程:往链表头部加入新节点。Node*head=nullptr;while(...){No
- 数据结构——二叉树的最小深度算法
943802606
#数据结构数据结构二叉树c语言
给定一个二叉树,找出其最小深度。最小深度是从根节点到最近叶子节点的最短路径上的节点数量。说明:叶子节点是指没有子节点的节点。输入:root=[3,9,20,null,null,15,7]输出:2示例2:输入:root=[2,null,3,null,4,null,5,null,6]输出:5提示:树中节点数的范围在[0,105]内-1000lchild不为空且T->rchild为空,返回左子树的高度+
- 111.二叉树的最小深度 -----力扣每日打卡Day17
爱吃草莓蛋糕的猴
算法题二叉树算法leetcode
目录1.题目2.题目分析3.代码实现1.题目给定一个二叉树,找出其最小深度。最小深度是从根节点到最近叶子节点的最短路径上的节点数量。说明:叶子节点是指没有子节点的节点。示例:给定二叉树[3,9,20,null,null,15,7],3/\920/\157返回它的最小深度2.C语言函数头:/***Definitionforabinarytreenode.*structTreeNode{*intval
- java责任链模式
3213213333332132
java责任链模式村民告县长
责任链模式,通常就是一个请求从最低级开始往上层层的请求,当在某一层满足条件时,请求将被处理,当请求到最高层仍未满足时,则请求不会被处理。
就是一个请求在这个链条的责任范围内,会被相应的处理,如果超出链条的责任范围外,请求不会被相应的处理。
下面代码模拟这样的效果:
创建一个政府抽象类,方便所有的具体政府部门继承它。
package 责任链模式;
/**
*
- linux、mysql、nginx、tomcat 性能参数优化
ronin47
一、linux 系统内核参数
/etc/sysctl.conf文件常用参数 net.core.netdev_max_backlog = 32768 #允许送到队列的数据包的最大数目
net.core.rmem_max = 8388608 #SOCKET读缓存区大小
net.core.wmem_max = 8388608 #SOCKET写缓存区大
- php命令行界面
dcj3sjt126com
PHPcli
常用选项
php -v
php -i PHP安装的有关信息
php -h 访问帮助文件
php -m 列出编译到当前PHP安装的所有模块
执行一段代码
php -r 'echo "hello, world!";'
php -r 'echo "Hello, World!\n";'
php -r '$ts = filemtime("
- Filter&Session
171815164
session
Filter
HttpServletRequest requ = (HttpServletRequest) req;
HttpSession session = requ.getSession();
if (session.getAttribute("admin") == null) {
PrintWriter out = res.ge
- 连接池与Spring,Hibernate结合
g21121
Hibernate
前几篇关于Java连接池的介绍都是基于Java应用的,而我们常用的场景是与Spring和ORM框架结合,下面就利用实例学习一下这方面的配置。
1.下载相关内容: &nb
- [简单]mybatis判断数字类型
53873039oycg
mybatis
昨天同事反馈mybatis保存不了int类型的属性,一直报错,错误信息如下:
Caused by: java.lang.NumberFormatException: For input string: "null"
at sun.mis
- 项目启动时或者启动后ava.lang.OutOfMemoryError: PermGen space
程序员是怎么炼成的
eclipsejvmtomcatcatalina.sheclipse.ini
在启动比较大的项目时,因为存在大量的jsp页面,所以在编译的时候会生成很多的.class文件,.class文件是都会被加载到jvm的方法区中,如果要加载的class文件很多,就会出现方法区溢出异常 java.lang.OutOfMemoryError: PermGen space.
解决办法是点击eclipse里的tomcat,在
- 我的crm小结
aijuans
crm
各种原因吧,crm今天才完了。主要是接触了几个新技术:
Struts2、poi、ibatis这几个都是以前的项目中用过的。
Jsf、tapestry是这次新接触的,都是界面层的框架,用起来也不难。思路和struts不太一样,传说比较简单方便。不过个人感觉还是struts用着顺手啊,当然springmvc也很顺手,不知道是因为习惯还是什么。jsf和tapestry应用的时候需要知道他们的标签、主
- spring里配置使用hibernate的二级缓存几步
antonyup_2006
javaspringHibernatexmlcache
.在spring的配置文件中 applicationContent.xml,hibernate部分加入
xml 代码
<prop key="hibernate.cache.provider_class">org.hibernate.cache.EhCacheProvider</prop>
<prop key="hi
- JAVA基础面试题
百合不是茶
抽象实现接口String类接口继承抽象类继承实体类自定义异常
/* * 栈(stack):主要保存基本类型(或者叫内置类型)(char、byte、short、 *int、long、 float、double、boolean)和对象的引用,数据可以共享,速度仅次于 * 寄存器(register),快于堆。堆(heap):用于存储对象。 */ &
- 让sqlmap文件 "继承" 起来
bijian1013
javaibatissqlmap
多个项目中使用ibatis , 和数据库表对应的 sqlmap文件(增删改查等基本语句),dao, pojo 都是由工具自动生成的, 现在将这些自动生成的文件放在一个单独的工程中,其它项目工程中通过jar包来引用 ,并通过"继承"为基础的sqlmap文件,dao,pojo 添加新的方法来满足项
- 精通Oracle10编程SQL(13)开发触发器
bijian1013
oracle数据库plsql
/*
*开发触发器
*/
--得到日期是周几
select to_char(sysdate+4,'DY','nls_date_language=AMERICAN') from dual;
select to_char(sysdate,'DY','nls_date_language=AMERICAN') from dual;
--建立BEFORE语句触发器
CREATE O
- 【EhCache三】EhCache查询
bit1129
ehcache
本文介绍EhCache查询缓存中数据,EhCache提供了类似Hibernate的查询API,可以按照给定的条件进行查询。
要对EhCache进行查询,需要在ehcache.xml中设定要查询的属性
数据准备
@Before
public void setUp() {
//加载EhCache配置文件
Inpu
- CXF框架入门实例
白糖_
springWeb框架webserviceservlet
CXF是apache旗下的开源框架,由Celtix + XFire这两门经典的框架合成,是一套非常流行的web service框架。
它提供了JAX-WS的全面支持,并且可以根据实际项目的需要,采用代码优先(Code First)或者 WSDL 优先(WSDL First)来轻松地实现 Web Services 的发布和使用,同时它能与spring进行完美结合。
在apache cxf官网提供
- angular.equals
boyitech
AngularJSAngularJS APIAnguarJS 中文APIangular.equals
angular.equals
描述:
比较两个值或者两个对象是不是 相等。还支持值的类型,正则表达式和数组的比较。 两个值或对象被认为是 相等的前提条件是以下的情况至少能满足一项:
两个值或者对象能通过=== (恒等) 的比较
两个值或者对象是同样类型,并且他们的属性都能通过angular
- java-腾讯暑期实习生-输入一个数组A[1,2,...n],求输入B,使得数组B中的第i个数字B[i]=A[0]*A[1]*...*A[i-1]*A[i+1]
bylijinnan
java
这道题的具体思路请参看 何海涛的微博:http://weibo.com/zhedahht
import java.math.BigInteger;
import java.util.Arrays;
public class CreateBFromATencent {
/**
* 题目:输入一个数组A[1,2,...n],求输入B,使得数组B中的第i个数字B[i]=A
- FastDFS 的安装和配置 修订版
Chen.H
linuxfastDFS分布式文件系统
FastDFS Home:http://code.google.com/p/fastdfs/
1. 安装
http://code.google.com/p/fastdfs/wiki/Setup http://hi.baidu.com/leolance/blog/item/3c273327978ae55f93580703.html
安装libevent (对libevent的版本要求为1.4.
- [强人工智能]拓扑扫描与自适应构造器
comsci
人工智能
当我们面对一个有限拓扑网络的时候,在对已知的拓扑结构进行分析之后,发现在连通点之后,还存在若干个子网络,且这些网络的结构是未知的,数据库中并未存在这些网络的拓扑结构数据....这个时候,我们该怎么办呢?
那么,现在我们必须设计新的模块和代码包来处理上面的问题
- oracle merge into的用法
daizj
oraclesqlmerget into
Oracle中merge into的使用
http://blog.csdn.net/yuzhic/article/details/1896878
http://blog.csdn.net/macle2010/article/details/5980965
该命令使用一条语句从一个或者多个数据源中完成对表的更新和插入数据. ORACLE 9i 中,使用此命令必须同时指定UPDATE 和INSE
- 不适合使用Hadoop的场景
datamachine
hadoop
转自:http://dev.yesky.com/296/35381296.shtml。
Hadoop通常被认定是能够帮助你解决所有问题的唯一方案。 当人们提到“大数据”或是“数据分析”等相关问题的时候,会听到脱口而出的回答:Hadoop! 实际上Hadoop被设计和建造出来,是用来解决一系列特定问题的。对某些问题来说,Hadoop至多算是一个不好的选择,对另一些问题来说,选择Ha
- YII findAll的用法
dcj3sjt126com
yii
看文档比较糊涂,其实挺简单的:
$predictions=Prediction::model()->findAll("uid=:uid",array(":uid"=>10));
第一个参数是选择条件:”uid=10″。其中:uid是一个占位符,在后面的array(“:uid”=>10)对齐进行了赋值;
更完善的查询需要
- vim 常用 NERDTree 快捷键
dcj3sjt126com
vim
下面给大家整理了一些vim NERDTree的常用快捷键了,这里几乎包括了所有的快捷键了,希望文章对各位会带来帮助。
切换工作台和目录
ctrl + w + h 光标 focus 左侧树形目录ctrl + w + l 光标 focus 右侧文件显示窗口ctrl + w + w 光标自动在左右侧窗口切换ctrl + w + r 移动当前窗口的布局位置
o 在已有窗口中打开文件、目录或书签,并跳
- Java把目录下的文件打印出来
蕃薯耀
列出目录下的文件文件夹下面的文件目录下的文件
Java把目录下的文件打印出来
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
蕃薯耀 2015年7月11日 11:02:
- linux远程桌面----VNCServer与rdesktop
hanqunfeng
Desktop
windows远程桌面到linux,需要在linux上安装vncserver,并开启vnc服务,同时需要在windows下使用vnc-viewer访问Linux。vncserver同时支持linux远程桌面到linux。
linux远程桌面到windows,需要在linux上安装rdesktop,同时开启windows的远程桌面访问。
下面分别介绍,以windo
- guava中的join和split功能
jackyrong
java
guava库中,包含了很好的join和split的功能,例子如下:
1) 将LIST转换为使用字符串连接的字符串
List<String> names = Lists.newArrayList("John", "Jane", "Adam", "Tom");
- Web开发技术十年发展历程
lampcy
androidWeb浏览器html5
回顾web开发技术这十年发展历程:
Ajax
03年的时候我上六年级,那时候网吧刚在小县城的角落萌生。传奇,大话西游第一代网游一时风靡。我抱着试一试的心态给了网吧老板两块钱想申请个号玩玩,然后接下来的一个小时我一直在,注,册,账,号。
彼时网吧用的512k的带宽,注册的时候,填了一堆信息,提交,页面跳转,嘣,”您填写的信息有误,请重填”。然后跳转回注册页面,以此循环。我现在时常想,如果当时a
- 架构师之mima-----------------mina的非NIO控制IOBuffer(说得比较好)
nannan408
buffer
1.前言。
如题。
2.代码。
IoService
IoService是一个接口,有两种实现:IoAcceptor和IoConnector;其中IoAcceptor是针对Server端的实现,IoConnector是针对Client端的实现;IoService的职责包括:
1、监听器管理
2、IoHandler
3、IoSession
- ORA-00054:resource busy and acquire with NOWAIT specified
Everyday都不同
oraclesessionLock
[Oracle]
今天对一个数据量很大的表进行操作时,出现如题所示的异常。此时表明数据库的事务处于“忙”的状态,而且被lock了,所以必须先关闭占用的session。
step1,查看被lock的session:
select t2.username, t2.sid, t2.serial#, t2.logon_time
from v$locked_obj
- javascript学习笔记
tntxia
JavaScript
javascript里面有6种基本类型的值:number、string、boolean、object、function和undefined。number:就是数字值,包括整数、小数、NaN、正负无穷。string:字符串类型、单双引号引起来的内容。boolean:true、false object:表示所有的javascript对象,不用多说function:我们熟悉的方法,也就是
- Java enum的用法详解
xieke90
enum枚举
Java中枚举实现的分析:
示例:
public static enum SEVERITY{
INFO,WARN,ERROR
}
enum很像特殊的class,实际上enum声明定义的类型就是一个类。 而这些类都是类库中Enum类的子类 (java.l