java多个判断条件的实现!

问题描述

现在遇到这样一个问题:对数据库中的对应表中的数据按照8个优先级来进行查询,比如优先级为:A>B>C>D.......如果按照A条件查询没有符合的数据,则按照B进行查询,如果还是没有符合条件的数据则按照C来进行查询,以此类推,按照优先级的从高到底一步一地的进行查询!如果在java代码中以ifelse进行判断的话,那8个优先级就要嵌套8个ifelse语句了,这样写显然不是最明智的!有遇到过同样问题,或者有好的想法的朋友请给点意见,谢谢!我这边数据库用的是oracle!

解决方案

解决方案二:
用switchcase
解决方案三:
用switchcase
解决方案四:
请说明具体要做什么,谢谢!
解决方案五:
比如说要做什么查询,查询的结果是什么之类的。
解决方案六:
可以對條件給值,再用switchcase,不過也可能用8個ifelse
解决方案七:
最好把你认为不明智的代码贴出来,这样才能进行代码的重构,否则根本就不知道你在做什么。
解决方案八:
与其使用ifelse或者switchcase语句,还不如好好设计一下你的类,使用设计模式,你这样的需求,将来如果级别又增加了,java编程中忌讳去修改代码,鼓励增加代码,你这样的需求应该使用责任链模式,将级别归为一个类,一个级别不满足,就将请求传给下一个级别,张逐级的传下去,形成责任链模式
解决方案九:
如果不是字符串的话可以用switch结构
解决方案十:
switchcase吧,这样性能上面能有保证
解决方案十一:
如果变量是int或者是char类型的就用switchcase语句吧~

时间: 2024-10-03 11:52:59

java多个判断条件的实现!的相关文章

java关于if判断的诡异问题

问题描述 java关于if判断的诡异问题 if(表达式为假){ 语句块1 } 语句块2 运行程序的时候,当表达式为假时,为什么还执行"语句块1"呢,那位又碰到过这种情况的吗?赐教一下! 解决方案 你说的这个问题不会出现的~,要不Java要变天了~. 应该是哪里出现问题了,而还没有被发现,你可以去排查一下. 这样:你将if()语句块内的整个表达式 用一个boolean值接收一下,然后打印输出,看看输出的值到底是true还是false你就明白问题并不是出在这里了. 解决方案二: js中if

HBase源码分析之compact请求发起时机、判断条件等详情(一)

        一般说来,任何一个比较复杂的分布式系统,针对能够使得其性能得到大幅提升的某一内部处理流程,必然有一个定期检查机制,使得该流程在满足一定条件的情况下,能够自发的进行,这样才能够很好的体现出复杂系统的自我适应与自我调节能力.我们知道,HBase内部的compact处理流程是为了解决MemStore Flush之后,文件数目太多,导致读数据性能大大下降的一种自我调节手段,它会将文件按照某种策略进行合并,大大提升HBase的数据读性能.那么,基于我刚才的陈述,compact流程是否有一个

java中怎么判断一行字符中有姓名,并得到姓名

问题描述 java中怎么判断一行字符中有姓名,并得到姓名 例如:[杨绛先生今日凌晨去世,享年105岁[蜡烛]]5月25日凌晨,著名女作家.文学翻译家和外国文学研究家.钱锺书夫人杨绛在北京协和医院病逝,享年105岁.澎湃新闻经由人民文学出版社对这一消息进行了确认. 怎么从中得到杨绛,钱钟书 解决方案 这个涉及到语义分析了,一般来说是对中文分词,然后对照词典,根据百家姓找没有列出的词,以姓氏开头2-3个字符长度. 解决方案二: 个人认为:收集全部姓名是不可能的:再者可以收集先生 小姐 夫人之类的:再

代码分析-Java中如何判断文件夹下当天有没有放文件?

问题描述 Java中如何判断文件夹下当天有没有放文件? List files = ftpUtil.getFileList(this.ftpTaskFolder);//ftp任务目录上获取任务文件 // 获取机构号全量数据传输任务文件 String organcodeFileName = """"; for (int i = 0; files != null && i < files.size(); i++) { String tempFileN

离开当前页面前使用js判断条件提示是否要离开页面_javascript技巧

复制代码 代码如下: <!doctype html> <html lang="cn"> <head> <meta charset="UTF-8"> <meta name="Keywords" content=""> <meta name="Description" content=""> <title>j

java中能否判断对象是通过哪个构造方法实例化的?

问题描述 java中能否判断对象是通过哪个构造方法实例化的? java中能否判断出一个类的实例对象是通过该类的哪个构造方法实例化的? 解决方案 没有其他操作的时候就是默认的,有其他操作的时候就是根据实例化时候参数的数量和类型区别了,肯定是对应的构造方法,比如三个构造方法 1. public User(){ } 2. public User(int num){} 3. public User(String name){} 你创建实例时候User u = new User();这就是第一种 User

关于do-while语句中while()判断条件--c语言初学者求助

问题描述 关于do-while语句中while()判断条件--c语言初学者求助 求两个正整数的最大公约数与最小公倍数如下程序 #include void main() { int m,n,a,b,i; scanf("%d%d",&m,&n); if(m>0&&n>0){ b=m*n; if(m<n) {a=m; m=n; n=a; } do{i=m%n; m=n; n=i;}while(n=0); printf("最大公约数为

不同结构的表数据新增-SQL 不同表结构的两张表A和B,往表中新增表B的数据,判断条件如果表A中不存在B中的记录

问题描述 SQL 不同表结构的两张表A和B,往表中新增表B的数据,判断条件如果表A中不存在B中的记录 insert into A(no,name,status)values ( select no,name,'Add' from B where B.no not in (select no from A) ) A(no,name,status) B(no,name) no是主键,上面这么写报错,请问要怎么改 ? 解决方案 insert into A(no,name,status) select

ae-AE开发 叠加点检查 判断两个点的距离,判断条件sql怎么写!

问题描述 AE开发 叠加点检查 判断两个点的距离,判断条件sql怎么写! ISpatialFilter spr = new SpatialFilterClass();//空间过滤器 spr.WhereClause = sql; IFeatureCursor featCur = LSMCLayer.Search(spr true);