`
kadenSH
  • 浏览: 984 次
  • 性别: Icon_minigender_1
  • 来自: 上海
最近访客 更多访客>>
社区版块
存档分类
最新评论

Java小结第一篇(枚举应用)

阅读更多

菜鸟新篇

  实习期结束了,写过那么多代码,最近等毕业答辩,有空余时间,也有动力,来回忆开发过程的点点滴滴,权当为自己做总结,积累自己的代码库.若您觉得内容太浅,希望您给予我些许点拨,我将感激不尽,助人者必有好报.
  从能想起来的最近的往回倒推吧.
  相信很多人有过这样的经历,特别是做j2ee(B/S)的时候, 当从页面传过来一个参数,无论是servlet或者struts框架等等,我们都需要先判断这个值是否安全,例如:

String param=request.getParameter("param");
if(param==null ||  "".equals(param)){
      doSth();
}else{
        doSth();
}
||短路符,当第一个判断是true,则不进行下一个运算,
下面这种写法我觉得也不会出问题的
if( "".equals(param)    ||  param==null    ){      
      doSth();
}else{
        doSth();
}
当然可以利用struts的intercepter和validate将这些操作封装起来,以供复用
安全性检查完了,接下来要进行功能性校验了
如果我们的需求是 根据传递过来的值判断执行哪一个业务流,
可以用if("sth".equals(param)){doSth()}
如果需要判断的业务流有很多等等,如果都用上面的方式,那么代码一定会很乱,而且复用性,健壮性,可移植性,可修改性等等都很差,
那么就需要一个很好的解决办法,这里用到了jdk1.5以后的枚举类型
public enum Field {
        error(0),postcode(1), email(2), telephone(3), mobile(4),address(5);

        Field(int value) { this.value = value; } 

        private final int value;

        public int value() { return value; }

    }

//利用枚举匹配页面端传过来的field名字
		Field field=Field.error;//默认值为失败
		for(Field f:Field.values()){
			if(f.toString().equals(param.trim())){
				field=f;//返回匹配的名字
				break;
			}
		}
		//switch选择相应的field,并调用相应的代码
		switch(field){
		case email:{
			do............
			break;
		}
		case telephone:{
			do............
			break;
		}
		case mobile:{
			do............
			break;
		}
		case postcode:{
			do............
			break;
		}
		case address:{
			do............
			break;
		}
		default:break;
		}

 

可以封装成接口,方便调用

0
1
分享到:
评论

相关推荐

    通过提问ChatGPT来解决枚举和注解等需求问题

    11.6自定义类实现枚举-小结 11.6.1小结 11.7e num关键字实现枚举-快速 入门 11.7.1说明 11.7.2e num关键字实现枚举注 意事项 11.8e num关键字实现枚举-课堂 练习 11.9e num常2用方法说明 11.10e num常用方法应用实例...

    精通 Hibernate:Java 对象持久化技术详解(第2版).part2

    第1章 Java应用分层架构及软件模型  1.1 应用程序的分层体系结构  1.1.1 区分物理层和逻辑层  1.1.2 软件层的特征  1.1.3 软件分层的优点  1.1.4 软件分层的缺点  1.1.5 Java应用的持久化层  1.2 软件的模型 ...

    Java典型模块

    第1篇 Java开发必备基础 第1章 搭建Java开发环境 1.1 Java的过去、现在和未来 1.1.1 Java的历史 1.1.2 Java的语言特点 1.1.3 Java API简介 1.1.4 Java未来发展 1.2 Java程序设计环境 1.2.1 命令行工具——JDK 6.0 ...

    Java语言的科学与艺术 斯坦福大学经典教材

     第1章 前言 1.1 计算简史 1.2 计算机科学的含义 1.3 计算机硬件简介 1.4 算法 1.5 编程过程的几个阶段 1.6 Java和面向对象范例 1.7 Java和WWW   1.8 小结 1.9 复习题 第2章 编程示例 2.1 “Hello world”程序 ...

    疯狂JAVA讲义

    第1章 Java概述 1 1.1 Java语言的发展简史 2 1.2 Java的竞争对手及各自优势 4 1.2.1 C#简介和优势 4 1.2.2 Ruby简介和优势 4 1.2.3 Python的简介和优势 5 1.3 Java程序运行机制 5 1.3.1 高级语言的运行机制 6...

    Java语言的科学与艺术(国外计算机科学经典教材)

    第1章 前言  1.1 计算简史  1.2 计算机科学的含义  1.3 计算机硬件简介  1.4 算法  1.5 编程过程的几个阶段  1.6 Java和面向对象范例  1.7 Java和WWW  1.8 小结  1.9 复习题 第2章 编程示例  2.1 “Hello ...

    java2入门经典.part01

    第一章:Java概述 什么是Java Java语言的特性 学习Java java程序 学习Java要走的路 ava环境 基于Java语言的面向对象程序设计 对象是什么 如何定义对象的类 对象的操作 Java程序语句 封装 类和数据类型 类和子类 使用...

    Thinking in java4(中文高清版)-java的'圣经'

    + 和 += 3.14 使用操作符时常犯的错误 3.15 类型转换操作符 3.15.1 截尾和舍入 3.15.2提升 3.16 Java没有“sizeof” 3.17 操作符小结 3.18 总结 第4章 控制执行流程 4.1 true和false 4.2 if-else 4.3 迭代 4.3.1 do-...

    Java2入门经典.rar

    第一章:Java概述 什么是Java Java语言的特性 学习Java ava程序 学习Java要走的路 ava环境 基于Java语言的面向对象程序设计 对象是什么 如何定义对象的类 对象的操作 Java程序语句 封装 类和数据类型 类和子类 使用...

    21天学通Java-由浅入深

    264 13.7 小结 265 13.8 习题 265 第三篇 应用篇 第14章 Swing桌面程序开发(精彩视频:70分钟) 268 14.1 开发第一个Swing程序 268 14.2 JFrame窗口类 269 14.2.1 JFrame窗口类简介 269 14.2.2 创建简单窗体 269 ...

    java初学者应该阅读的书籍

    ### 第一本书:《Java核心技术》 #### 知识点概述 - **基础语法**:包括变量、数据类型、运算符等。 - **面向对象编程**:类与对象的概念、封装、继承、多态等。 - **异常处理**:了解Java中的异常体系结构、如何抛...

    精通 Hibernate:Java 对象持久化技术详解(第2版).part1.rar

    第1章 Java应用分层架构及软件模型  1.1 应用程序的分层体系结构  1.1.1 区分物理层和逻辑层  1.1.2 软件层的特征  1.1.3 软件分层的优点  1.1.4 软件分层的缺点  1.1.5 Java应用的持久化层  1.2 软件的模型 ...

    精通 Hibernate:Java 对象持久化技术详解(第2版).part4

    第1章 Java应用分层架构及软件模型  1.1 应用程序的分层体系结构  1.1.1 区分物理层和逻辑层  1.1.2 软件层的特征  1.1.3 软件分层的优点  1.1.4 软件分层的缺点  1.1.5 Java应用的持久化层  1.2 软件的模型 ...

    精通 Hibernate:Java 对象持久化技术详解(第2版).part3

    第1章 Java应用分层架构及软件模型  1.1 应用程序的分层体系结构  1.1.1 区分物理层和逻辑层  1.1.2 软件层的特征  1.1.3 软件分层的优点  1.1.4 软件分层的缺点  1.1.5 Java应用的持久化层  1.2 软件的模型 ...

    Java高级程序设计实战教程第三章-Java反射机制.pptx

    **3.6 课后小结** 本章主要讲解了Java反射机制的基本概念、使用方法和应用场景,强调了其灵活性和在框架设计中的重要性。 **3.7 课后习题** 设计习题,让学习者通过实践加深对反射的理解,如编写一个工具类,动态...

    疯狂java讲义课后习题答案

    控制台五子棋是本书介绍的第一个项目,它帮助读者从基础入手,理解Java程序设计和业务逻辑的处理。五子棋作为一个古老的游戏,拥有简单的规则和丰富的游戏策略,是程序设计中常用的练习项目。本章通过实现控制台版本...

    Java虚拟机

    这本书的内容是帮你全面了解java虚拟机,本书第1版两年内印刷近10次,98%以上的评论全部为5星级的好评,是整个Java图书领域公认的经典著作和超级畅销书,繁体版在台湾也十分受欢迎。第2版在第1版的基础上做了很大的...

    第11章抽奖——随机数与枚举.ppt

    **11.5 本章小结** 本章内容总结了如何生成随机数,使用`Random`类以及可变参数方法。同时,引入了枚举类型作为编程中的常量集合,有助于构建更结构化的抽奖程序。通过学习这些知识,开发者可以创建出具有真实随机...

    Java开发技术大全 电子版

    1.4一个简单的Java小程序16 1.5本章小结18 第2章Java语言基础19 2.1Java语言的特点19 2.2Java程序的构成21 2.3数据类 型23 2.3.1基本数据类型23 2.3.2常量25 2.3.3变量26 2.3.4整型数据27 .2.3.5浮点型...

Global site tag (gtag.js) - Google Analytics