首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >声称((true & false) == true)

声称((true & false) == true)
EN

Stack Overflow用户
提问于 2013-12-23 06:56:42
回答 2查看 1.1K关注 0票数 13

我只是遇到了一些无法理解逻辑的东西。下面的情况怎么会发生?

我已经尝试了所有常用的方法来解决这个问题:清理/构建、重新启动netbeans等等,但是问题仍然存在。变量complete总是正确的,不管我做什么。我甚至将leftright分别替换为truefalse布尔值,但没有改变。真正起作用的是变量的重构重命名,但是当我将它更改回原来的时候,问题再次出现了。没有以相同方式命名的类成员。

到底怎么回事?我是不是终于失去理智了,还是这个变量应该有一个false值?

这是Windows上的Netbeans 7.3.1版本。

Edit01

我将努力向不信的人证明,当我在一周左右的时间内访问到我的工作电脑时,这是真的发生了。同时,相信我的话。这不是恶作剧,也不是因为我缺乏使用Netbeans调试的知识而发生的。

我确实记得在这种情况发生之前执行了一堆svn切换到复制命令,但对于此代码所在的项目(依赖项)则不这样做。任何情况下,干净/构建都应该处理好任何不一致之处。我也不记得清除Netbeans缓存,我现在对此感到遗憾。

Edit02

恨我的人会讨厌,但正如我担心的那样,回到我的工作站后,我再也不能复制这个问题了。承认这一点让我很生气,但我没有任何证据证明这件事曾经发生过。我所做的就是:从冬眠中唤醒我的pc,取消我变量的重构重命名,这是我在完成工作之前所做的最后一件事,一次干净/构建,然后是另一次调试运行。一切都是just..works。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2013-12-23 18:50:59

我看到了几种可能性,但我不认为JVM内部是错误的。调试器可能只是被欺骗或窃听。

  1. 一些优化正在进行,导致leftcomplete在堆栈上是相同的变量。因此,这大致意味着您的代码被优化为: 布尔左=(开始<=偏移);布尔右=(停止+1 >=偏移);左=左&右;//重用“左”而不是新变量“完全” 然而,据我所知,Java编译器不会进行这种优化。如果这不是真的,有人能确认或提供细节吗?(可能是javac还是JIT做的?)
  2. NetBeans调试器真的很麻烦。根据我的C++调试经验,调试器中实际上存在一个错误(听起来很有趣,是这样),它导致调试器无法正确地从内存中读取整数值。有时结果不太理想。在这种情况下,这并不意味着什么,但实际上可能调试器确实有bug。 我记得我已经搜索了几个小时来修复我通过调试发现的代码中的一个bug。但没有窃听器。至少在我的代码里没有。调试器向我报告了内存中的一些值,但都是错误的。

如果这种奇怪的行为总是发生,那么尝试将调试语句放在后面:

代码语言:javascript
运行
AI代码解释
复制
System.out.println(left + " && " +  right + " == " + complete);

我打赌输出是正确的。尝试运行调试器也增加了这一行。如果像我所描述的那样发生这样的优化,那么它就应该消失,因为它不能再重用left了。

票数 3
EN

Stack Overflow用户

发布于 2013-12-23 11:15:24

我复制了您的代码,下面是我发现的:

票数 -2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/20745964

复制
相关文章
2022-09-30:以下go语言代码输出什么?A: true true false true false; B: true false false true
2022-09-30:以下go语言代码输出什么?A: true true false true false; B: true false false true false; C: true true true false false;D: true true false true true。
福大大架构师每日一题
2022/09/30
1.3K0
2022-09-30:以下go语言代码输出什么?A: true true false true false; B: true false false true
2022-10-28:以下go语言代码输出什么?A:false false;B:true false;C:true true;D:false true。 pac
2022-10-28:以下go语言代码输出什么?A:false false;B:true false;C:true true;D:false true。
福大大架构师每日一题
2022/10/28
1.1K0
2022-10-28:以下go语言代码输出什么?A:false false;B:true false;C:true true;D:false true。 pac
2022-10-28:以下go语言代码输出什么?A:false false;B:true false;C:true true;D
2022-10-28:以下go语言代码输出什么?A:false false;B:true false;C:true true;D:false true。
福大大架构师每日一题
2022/11/06
8980
2022-10-28:以下go语言代码输出什么?A:false false;B:true false;C:true true;D
java lang illegalargument_java true false
我们的JSP项目在上传文件时通常都需要获取目录在服务器上的绝对路径,request.getRealPath()方法显示已经过时,但是还是有替代方法的。HttpSession session = request.getSession(true); //获取session
全栈程序员站长
2022/10/02
4320
Unrecognized token 'XXXX': was expecting ('true', 'false' or 'null')
当dataType指定为json后,1.4+以上的jquery版本对json格式要求更加严格.如果不是严格的json格式,就不能正常执行success回调函数.
ydymz
2018/09/10
7.7K0
index=False与index=True的含义
在 Excel 中 index 函数是用来引用我们所需的信息. index = False:输出不显示 index (索引)值 index = True:输出显示 index (索引)值 ---- 一、index = False 二、index = True ---- 一、index = False 代码示例 运行结果 二、index = True 代码示例 运行结果
荣仔_最靓的仔
2021/09/07
2.7K0
面试:a==1 && a==2 && a==3 是 true 还是 false?
这是一个JS社区抛出来的问题。第一眼看到这个问题的时候,感觉这似乎是一个无稽之谈,一个变量怎么可能会同时满足俩个条件呢!
程序猿DD
2021/07/13
6160
面试:a==1 && a==2 && a==3 是 true 还是 false?
做「容量预估」可没有true和false
虽然如此,但是那些体量达到亿级或者是千万级的产品也只是少数公司的专属。对于整个行业里百万+的程序员群体来说,估计也就只有10%人有机会接触到这些“大系统”。
Zachary_ZF
2019/08/31
9920
Javascript中的Return,Return false和Return true
版权声明:博客文章都是作者辛苦整理的,转载请注明出处,谢谢! https://blog.csdn.net/Quincuntial/article/details/52928626
Tyan
2019/05/25
2.4K0
面试官:为什么“false == []”和“false == ![]”都返回true?
英文 | https://javascript.plainenglish.io/interviewer-why-do-false-and-false-both-return-true-6e7944220337
winty
2023/01/09
9980
面试题:a==1 && a==2 && a==3 是 true 还是 false?
这是一个JS社区抛出来的问题。第一眼看到这个问题的时候,感觉这似乎是一个无稽之谈,一个变量怎么可能会同时满足俩个条件呢!
良月柒
2021/07/13
5580
面试题:a==1 && a==2 && a==3 是 true 还是 false?
shell判空true false的一个坑
在写shell的时候发现一个违反直觉的的操作,一般判断一个变量是否为boolean,习惯上使用if param。 但是在写脚本的时候,发现无论如何,不会走false。
潇洒
2023/10/20
8030
为什么1000==1000返回false,100==100返回true?
这可能是个讨论得较多的话题,但是我觉得它很有趣:为什么1000==1000返回false,100==100返回true?
三哥
2018/12/19
1.2K0
@Modifying(clearAutomatically = true)
今天在写测试的时候,里面有一个逻辑是更新数据,因为需要同时更新多条数据,所以我使用了JPQL来更新数据,但是在更新的语句成功执行并返回了更新了N条数据后,再次执行查询到的数据还是没有更新过的数据。
前Thoughtworks-杨焱
2021/12/07
1.1K0
leetcode 139. 单词拆分---完全背包问题之true or false类型
单词就是物品,字符串s就是背包,单词能否组成字符串s,就是问物品能不能把背包装满。
大忽悠爱学习
2021/11/15
5480
每周四更面试题:True+True=?
面试题:True + Ture == ? Python 的 “+” 号会根据操作对象数据类型的不同而进行重载,操作对象为数字类型时,它是算术运算符;操作对象为序列类型时,它是序列连接符。 那么问题是:如果操作对象为布尔类型呢? 你是否会认为?在揭晓答案前,首先了解一下 Python 的布尔数据类型。 布尔值 布尔数据类型只有 True or False 两个值,它作为逻辑判断的基准被应用在程序各处的布尔上下文中(e.g. if、while、for 等逻辑控制语句)。 虽然我们也会经常在布尔上下文中使用表
企鹅号小编
2018/01/22
8150
每周四更面试题:True+True=?
为什么Java中1000==1000为false而100==100为true?
基本知识:我们知道,如果两个引用指向同一个对象,用==表示它们是相等的。如果两个引用指向不同的对象,用==表示它们是不相等的,即使它们的内容相同。
Leetcode名企之路
2020/09/04
6250
为什么 Java 中“1000==1000”为false,而”100==100“为true?
基本知识:我们知道,如果两个引用指向同一个对象,用==表示它们是相等的。如果两个引用指向不同的对象,用==表示它们是不相等的,即使它们的内容相同。
周辰晨
2022/09/20
4950
点击加载更多

相似问题

True = False == True

23

Python: True,False = False,True

12

sql查询- true或true,false => true => false

83

在[{'True':True,'False':False,'None':None},{},{},

10

true & true ==是否为false?

30
添加站长 进交流群

领取专属 10元无门槛券

AI混元助手 在线答疑

扫码加入开发者社群
关注 腾讯云开发者公众号

洞察 腾讯核心技术

剖析业界实践案例

扫码关注腾讯云开发者公众号
领券
社区富文本编辑器全新改版!诚邀体验~
全新交互,全新视觉,新增快捷键、悬浮工具栏、高亮块等功能并同时优化现有功能,全面提升创作效率和体验
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
查看详情【社区公告】 技术创作特训营有奖征文