if函数为什么算的不对?条件是对的,但是结果是错的。 怎么回事

如题所述

感觉你要把编码放上来给人看看比较好。IF函数虽然各类编程语言都有,但实际上底层比较东西可能是不一样的,所以要谨慎使用。
很多时候,你要搞清楚你对比的是Object, Pointer, String还是byte。
比如:
String a = "1";
int b = 1;
Integer c = 1;
如果你直接对比
if (a = b) -> 这个结果在很多语言里就是错的,因为转化成byte,a是ascii的值,b是数字的值
if (b = c) ->这个结果在很多语言里也是错的,因为b是数字,而c是object
所以,虽然你print出来的可能都是1,但是在if函数里,不做正确的转换的话,其实是完全不同的东西。
温馨提示:答案为网友推荐,仅供参考
相似回答