- 如何将dom转化为pdf
Olivia小饼干
javascripthtmldom
1.先局部打印方法一:通过id选择器来替换内容打印2.这样打印转化成PDF是调用浏览器默认的功能存在的问题就是echarts生成的canvas显示不出来这样就要到以下方法:3.htmljs打印图片不显示canvas将canvas转化成base64用img标签显示出来4.浏览器默认的打印可以转化成PDF,选中就行了
- node cool-admin 后端宝塔面板看代码日志
喝一杯维C
node.jssqllinux
1.需求我在处理回调问题的时候就是找不到问题,因为不像本地的代码控制台能够直接打印出来问题,你是放在线上了所以那个日志不好打印我看网上都说是直接用一个loger.js打印日志放到代码文件里这种方法也许有用但是对我这框架cool来说试了没有啥具体作用也许我用的不对2.解决经过我的探索和方案宝塔山有一个项目日志在这里可以打印出线上的代码在代码中打印出来然后运行的时候你就可以看到打印的结果了这样你就可以
- 解决使用printJS打印PDF时echarts图表无法打印的问题
__浩
PDF打印vue.jsjavascripthtml5html
一次项目中有前端打印PDF的需求,在网上找到printJS使用,发现canvas无法打印,就将其代码稍加改造,完美解决。使用方法:由于是VUE项目,直接注册到了全局页面内使用:在printjs文件内写死了容器ID为details以下是完整printJS代码//打印类属性、方法定义/*eslint-disable*/constPrint=function(dom,options){if(!(this
- 使用printJS使网页打印成PDF、网页html结合printJS导出为pdf
小救星小杜、
前端
先放几个参考链接感谢!Vue使用PrintJS实现页面打印功能_vueprint.js设置打印pdf的大小-CSDN博客前台导出pdf经验汇总(html2canvas.js和浏览器自带的打印功能-print.js)以及后台一些导出pdf的方法_iqc后台管理系统怎么做到导出pdf-CSDN博客vue中使用print.js导出pdf_printjs导出文件命名-CSDN博客解决使用printJS打印
- 完美格式打印CSDN博客内容。
麦小杨
日常工具javascripthtmlchrome
平时经常从CSDN打印博客看,发现一般JS打印CSDN博客,出现右边文字显示不全,阅读效果较差。我在参考了爪洼洼的《打印CSDN网页内容》中JS代码基础上增加了页面样式调整,将整个页面内容调整到一个合适的范围打印。写下这个内容主要是方便以后,自己打印需要。具体如下:打印CSDN博文内容,将以下js复制放入Chrome开发者选项里边的console,回车即可。(function(){$("#side
- 完美格式打印CSDN博客内容
Shirley_3ec8
平时经常从CSDN打印博客看,发现一般JS打印CSDN博客,出现右边文字显示不全,阅读效果较差。我在参考了爪洼洼的《打印CSDN网页内容》中JS代码基础上增加了页面样式调整,将整个页面内容调整到一个合适的范围打印。写下这个内容主要是方便以后,自己打印需要。具体如下:打印CSDN博文内容,将以下js复制放入Chrome开发者选项里边的console,回车即可。(function(){$("#side
- 打印收款单据(easypoi)Vue+springBoot+Mybatisplus
萧老板
打印打印easypoivue
打印pdf单据(模板)前端先导入printJSyarnaddprint-js打印中百物业收款收据房间:{{Receipt.roomNo}}建筑面积(平方米):{{Receipt.buildArea}}收据编号:{{billNo}}业主:{{Receipt.ownerName}}收款类型:{{Receipt.payType}}收款日期:{{(Receipt.payTime||'').split(''
- 【Vue】console.log()打印对象显示点点点,js打印语句显示省略号 | 解决方案
阿民不加班
Vuejavascriptvue.js前端
问题描述提示:这里简述项目相关背景:在console.log打印对象或者数组时,里面会显示小数点解决方案:其实用深拷贝,JSON.parse(JSON.stringify())可以解决,但是每次都在log语句里面写这个json转换,太麻烦了我这里直接改写原来js的log语句方法由于console.log()打印dom节点会报错做了判断(function(){//保存原生的console.log引用
- 解决: 使用html2canvas和print-js打印组件时, 出现空白页
stubborn丶lili
js前端
如图所示:当我利用html2canvas转换成图片后,然后使用print-js打印多张图片,会出现空白页使用html2canvas和print-js打印组件的文章可参考这个:Vue-使用html2canvas和print-js打印组件解决:因为是使用html2canvas转换成图片后才打印的,而图片是行内块级元素,会有间隙,所以被挤下去了,所以可以给图片设置样式,转换成块级元素printJS({p
- typeScript,typeScript语法,typeScript类型、ts变量声明,ts接口interface
单箭头→
typescriptjavascript前端
基础语法:Runoob.ts文件varname:string="Lucy";console.log(name)//Lucy编译原理:ts:Runoob.ts利用TSC进行编译:tscRunoob.ts//通过tsc得到如下文件Runoob.js//执行nodeRunoob.js打印记过为“Lucy"编译顺序图:编译多个文件:tsca.tsa2.tsa3.ts...tsc常用编译参数如下表所示:ts
- 用js打印html页面
F飞凡
做项目时,有在网页实现全局和局部打印的需求,百度许久,现总结如下:打印方式一:1.首先在head里面加入下面一段js代码:functionpreview(fang){if(fang";//设置打印开始区域eprnstr="";//设置打印结束区域prnhtml=bdhtml.substring(bdhtml.indexOf(sprnstr)+18);//从开始代码向后取htmlprnhtml=pr
- 使用print-js打印时,页面设置字体不生效问题
巴拉拉L
javascriptvue.js前端
前言在使用打印功能时,打印内容对比页面展示的内容有缺失。原因是页面上显示的文字font-size是9pt,然而调用print-js时,字体变大了,导致同样的高度展示的文字内容少了,造成了内容缺失的现象。查看nodemodules/print-js/dist/print.js文件发现,print-js接受一个font_size的入参,而这个参数的默认值是12pt。所以,当我们没有传font_size
- JS打印三角形,平行四边形和九九乘法表
老高学长
Html+Cssjavascript前端html
JS打印三角形,平行四边形和九九乘法表Document*{padding:0;margin:0;}table{border:1pxsolid#000;margin:100pxauto;background:#fbfbfb;}td{box-sizing:border-box;border-top:1pxsolid#000;border-right:1pxsolid#000;padding:10px2
- javascript 打印图形练习_根据给定数组打印星星
登上极峰之巅
javascript开发语言javascript前端
javascript打印图形练习_根据给定数组打印星星//需求:给定如下数组,打印出给定图形,javascript实现//1523689//*//**//**//***//****//****//*****//******//*******document.write("js打印图形练习_根据给定数组打印星星");vararr=[1,5,2,3,6,8,9];varmax;//获取数组最大值fun
- js打印线程id_浅析 Node 进程与线程
weixin_39572409
js打印线程idnode生产的env文件怎么注入
想要了解更多不掺水的原创,请戳上方蓝色字体:政采云前端团队关注我们吧~本文首发于政采云前端团队博客:浅析Node进程与线程https://www.zoo.team/article/node-process-thread进程与线程是操作系统中两个重要的角色,它们维系着不同程序的执行流程,通过系统内核的调度,完成多任务执行。今天我们从Node.js(以下简称Node)的角度来一起学习相关知识,通过本文
- 使用JS打印网页指定div内容(示例:打印CSDN博客)
solorCat
JS
方法一:提取元素打印步骤:1、打开谷歌浏览器,按F12进入控制台:2、控制台输入如下JS代码,按回车键(以打印csdn博客内容为例):functiondoPrint(){varhead_str="";//先生成头部varfoot_str="";//生成尾部varolder=document.body.innerHTML;//varnew_str=document.getElementById('w
- js打印指定页面元素
此行欲上天
首先安装html2canvasnpminstallhtml2canvas--save然后引入html2canvasimporthtml2canvasfrom'html2canvas'打印functionprint(elemId){html2canvas(document.getElementById(elemId),{allowTaint:false,useCORS:true,}).then(ca
- iOS WXComponent接收updateAttributes:方法传递的属性慢或者无反应
KeyboardDirver
Js更新属性后iOS端-(void)updateAttributes:(NSDictionary*)attributes接收到变更慢或者接受不到Js打印log发现js正常触发传递到iOS端慢或者没有传递原因:VUE全屏幕属性不是响应式的并且没有初始化,导致不能及时通知客户端。修改方法:属性修改为响应式并初始化
- 解决: 使用html2canvas和print-js打印组件时, 超出高度出现空白页
Sunny
javascript开发语言ecmascript
如果所示:当我利用html2canvas转换成图片后,然后使用print-js打印多张图片,第一张会出现空白页打印组件可参考这个:Vue-使用html2canvas和print-js打印组件解决:因为是使用html2canvas转换成图片后才打印的,而图片是行内块级元素,会有间隙,所以被挤下去了,因此可以给图片设置样式,转换成块级元素代码如下:printJS({printable:url,type
- 屏幕尺寸与分辨
VIAE
记录一下踩过的屏幕兼容的坑物理分辨率=逻辑分辨率*设备像素比window.screen.width*window.devicePixelRatio所以,在小屏幕高分屏上(例如2k屏的pador4k屏的非大屏显示器上)当我们将系统分辩率设为推荐分辩率时(推荐分辩率一般为物理分辩率),前端js打印出来的window.screen.width未必等于系统显示的分辩率,因为小屏幕的高分屏像素点密度非常高,
- 【信条】手撕吊打面试官系列面试题
前端劝退师
算法面试javahtml字节跳动
必备面试题js基础1.用js打印一个乘法表这一题面试官考察的是你关于js的打印相关基础api的熟悉程度,以及基本的数学常识,送分题console.log(`1*1=12*1=2 2*2=43*1=3 3*2=6 3*3=94*1=4 4*2=8 4*3=12 4*4=165*1=5 5*2=10 5*3=15 5*4=20 5*5=256*1=6 6*2=12 6*3=18 6*4=24 6*5=
- vue js打印中括号内容【】
不要和代码过不去
javascriptvue.js前端
options:[],sessionStorage.setItem("fanganList",JSON.stringify(this.options));JSON.parse(sessionStorage.getItem("fanganList"))[0]
- js打印,基础知识,数据类型
ChinaLibrary
JavaScript前端javascript
打印,基础知识,数据类型数据类型//提示框打印alert('hello');//页面打印document.write('hello');//控制台打印console.log("hello");//标识符var这就是标识符=100;document.write(这就是标识符)//数据类型,一共6种vara=1;varb='ab\nc';varc=null;//null类型值vare=true;//b
- vue 使用print.js打印小票
姽式、
vuejavascriptvue.jspython
官网:https://printjs.crabbly.com///安装npminstallprint-js--save//引入importprintJSfrom'print-js'//使用printJS({printable:'https://hwke.tbbug.com/images/phone/1899ed9346f64020ff4f9bbae6983952.jpg',type:'image'
- 混编协议:
Charlin_4970
混编协议,基本和之前是一样的。1.appbeginBridgeManager对应的web页面加载完成。2.log:js打印3.svpss:显示成功弹窗{title:"标题文字"}4.svpse:显示失败弹窗{title:"标题文字"}5.push打开新页面6.pop关闭页面{index:"1"//index是指从当前页面倒数算起,退出多少层页面,只退出一层index=1,连续退出两层index=2
- 解决printJS打印问题汇总
小张快跑。
报错及解决方案vue.js前端javascript
目录一、打印预览表格列不全(Element的el-table组件)1、打印设置“打印缩放”2、修改el——table的底层代码(如果页面上有多个表格慎用)一、打印预览表格列不全(Element的el-table组件)问题描述:当我在页面中集成了这个组件的时候,由于我的列比较多,所以在打印预览的时候,我的表格列出现了显示不完全的问题,百度了很多方法,最后总结了两个比较简单的解决方案:1、打印设置“打
- js / vue 批量打印二维码图片、PDF、文档
RyzenVega
VueJQjavascriptvue.js前端
打印库官方网址Print.js-JavascriptlibraryforHTMLelements,PDFandimagefilesprinting.(crabbly.com)由于打印库是英文可以访问翻译版Print.jsjavascript库实现页面打印-简书(jianshu.com)在vue项目中安装print.js打印库npminstallprint-js--save在main.js中引入im
- Vue 使用print-js 打印html页面
Synologs过客
前端vue.jsjavascriptcss
Vue使用print-js打印html页面Print.js官网官网优点:可以打印多种格式的内容(pdf、json、html等)打印json时可以添加表头。打印html页时可以继承原有页面的样式,局部打印,过滤掉要打印的元素,及其方便一、vue安装命令:npminstallprint-js--save二、引入vue页面引用这个引入不需要在main.js中,直接在使用的.vue中引入即可用法全局引用i
- 【Vue】Vue 使用 Print.js 打印选中区域的html,用到的是Element ui table表格,解决页面样式不出现或者table表格样式错乱问题!!!
蓝胖子的多啦A梦
js方法修改默认样式javascriptvue.jshtml
步骤1.下载Print.js插件npminstallprint-js--save2.main.js文件中导入Print.js插件importprintfrom'print-js'页面使用需求:打击打印按钮,文字内容以及表格中的内容vuePrint.js打印页面样式不出现解决方案加上这句就好了!完美!tips特别注意:打印问题总结一、因为表格数据过多,之前加了表格滚动条,但是打印出来会把表格上的滚动
- jQuery.print.js打印html
我是舍长
下载js链接:jQuery.print.js提取码:59lz必须先引入jq,再引入jQuery.print.jsimage.png打印第一页打印第二页打印functionaa(){$("#div1").print();}
- 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