草庐IT

kkt条件

全部标签

java - 如何让复杂的条件看起来好看并节省语句的数量?

在我的java应用程序中,我有一大堆条件可以决定一个Action。我的问题是如何让它看起来不错(我使用NetBeans,所以我更喜欢不会被其代码格式化功能破坏的解决方案)。我还希望那里的if/else语句数量尽可能少,因为我认为这会使速度更快。我原来的代码很乱,所以我做了一个Action图:.Takeacopy如果你想玩它。请记住,该图在UML语法方面并不完美,部分原因是我使用谷歌文档制作的。这是代码:if(!config.get("checkForSpecials")||event.isNotSpecial()){if(config.get("filterMode").equals(

java - 了解 Hibernate 的条件#setMaxResults

docs说:CriteriasetMaxResults(intmaxResults)>Setalimituponthenumberofobjectstoberetrieved.假设我有以下Criteria:Criteriacriteria=createCriteria();//createscriteriaforMY_TABLEentitycriteria.list().length;//let'ssaythere'samillionrecordsinthistable将添加criteria.setMaxResults(1)只返回一行?或者,它是否仍会返回100万行,但选择其中之一?当

java - 带有条件运算符的奇怪 Java 行为。这是一个错误吗?

你能运行下面的命令并解释一下吗?Objecto=true?newInteger(1):newDouble(2.0);System.out.println(o);我发现这令人惊讶,因为有人会期望打印1而不是1.0 最佳答案 这一点也不奇怪,尽管它看起来像一个。该行为在JLS§15.25-ConditionalOperator中指定:Otherwise,ifthesecondandthirdoperandshavetypesthatareconvertible(§5.1.8)tonumerictypes,thenthereareseve

java - 使用内部列表条件过滤列表

我有一个对象列表。每个对象包含另一个列表。我想根据内部列表的条件过滤列表。例如:有一个工厂列表。每个工厂都包含其生产的不同车型的列表。我想以这样的方式过滤工厂列表,以便只获得生产Mazda3的工厂。我怎样才能用lambda做到这一点?应该是这样的:factories.stream().filter(f->f.getCars().stream().filter(c->C.getName().equals("Mazda3")).).collect(Collectors.toList()); 最佳答案 如果我理解正确(并简化了你的例子)L

java - 是否可以在有条件的情况下在 Java 中声明变量?

在Java中,可以在for循环的初始化部分声明一个变量:for(inti=0;i但是对于while语句,这似乎是不可能的。当while循环的条件需要在每次迭代后更新时,我经常看到这样的代码:Listprocessables=retrieveProcessableItems(..);//initialfetchwhile(processables.size()>0){//processitemsprocessables=retrieveProcessableItems(..);//update}在stackoverflow上我至少找到了asolution防止获取可处理项目的重复代码:Li

java - 对象属性的 Hibernate 条件/查询

我有一个类AppUser;classAppUser{privateStringfirstName;privateStringlastName;//--gettersandsetters}我还有一个类(class)Student;classStudent{privateAppUserappUser;privateDatedateOfBirth;//--gettersandsetters}我如何搜索学生JohnDoe、firstNameJohn、lastNameDoe?如果它是出生日期属性,我会创建一个Criteria并在日期上添加一个相等限制(Restritions.eq)。我将如何为A

java - 如何在 Java 中编写 "all these numbers are different"条件?

好的,我有这个问题要解决,但我不能用Java正确编程。看下图,你会看到一个6角星,每个点和线的交点都是一个字母。作业是将数字1到12定位,使四个球的所有直线的总和为26,而星星的所有6个点的总和也为26。这归结为:(A+C+F+H==26)(A+D+G+K==26)(B+C+D+E==26)(B+F+I+L==26)(E+G+J+L==26)(H+I+J+K==26)(A+B+E+H+K+L==26)所以我开始编写一个程序,该程序将循环遍历所有选项以暴力破解解决方案。该循环正在运行,但是,它现在显示了多次使用一个数字的解决方案,这是不允许的。我怎样才能在代码中让它同时检查所有变量是否不

java - JOptionPane - 检查用户输入并防止在满足条件之前关闭

有人能告诉我是否有一种方便的方法可以防止JOptionPane在单击“确定”时关闭,除非满足用户输入字段的条件?还是我别无选择,只能使用JFrame?到目前为止我的验证逻辑。似乎不起作用,因为出于某种原因按钮是一次性可点击的...finalJDialogdialog3=newJDialog(OmniGUI.getFrame(),"CreatenewNode-id:"+newNodeID);dialog3.setContentPane(theOPane);dialog3.setDefaultCloseOperation(JDialog.DO_NOTHING_ON_CLOSE);theOP

java - Java中 "for"语句每次循环都计算循环条件吗?

这是我的Java代码:Listobjects=newArrayList();//Assignvaluestoobjects...for(inti=0;i我有两个问题:objects.size()是在循环之前只计算一次,还是每次循环都计算一次?如果每次循环都计算objects.size(),如果没有多线程保护,其他线程同时更改它,代码可能会崩溃。我说的对吗? 最佳答案 答案:objects.size()在每个循环中被调用(是否被计算取决于ArrayList的实现,你不应该关心它关于)是的,另一个线程可能会更改列表,这会影响您的循环真实

java - 如何有条件地替换 Collection 中的值,例如 replaceIf(Predicate<T>)?

如果List或Collection中的值为null,是否有任何简单的方法可以替换该值?我们总能做到list.stream().filter(Objects::nonNull);并可能将0添加回列表。但我正在寻找的是类似list.replaceIf(Predicate)的API. 最佳答案 这只适用于List,不适用于Collection,因为后者没有替换或设置元素的概念。但是给定一个List,使用List.replaceAll()方法很容易做你想做的事情:Listlist=Arrays.asList("a","b",null,"c"