首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

为什么当我检查一个循环中的字符串是否包含在字符串数组中时,我得到的结果都是false?

当你检查一个循环中的字符串是否包含在字符串数组中时,得到的结果都是false的可能原因有以下几点:

  1. 字符串比较时大小写敏感:在比较字符串时,需要注意大小写敏感的问题。如果字符串数组中的元素与待检查的字符串在大小写上有差异,那么比较的结果就会是false。解决方法是在比较之前,将字符串统一转换为相同的大小写形式,例如全部转换为小写字母。
  2. 字符串比较时存在空格或其他不可见字符:字符串比较时,可能存在空格或其他不可见字符的问题。这些字符可能会导致比较结果为false。解决方法是在比较之前,对字符串进行去除空格或其他不可见字符的处理。
  3. 循环或字符串数组的数据存在问题:检查循环中的字符串是否包含在字符串数组中时,需要确保循环和字符串数组的数据是正确的。可能存在循环索引错误、字符串数组为空或未初始化等问题,导致比较结果为false。解决方法是检查循环和字符串数组的数据是否正确,并进行必要的修正。
  4. 字符串比较方法不正确:在比较字符串是否相等时,需要使用正确的比较方法。常见的比较方法有"=="、"equals()"等。如果使用了错误的比较方法,比较结果就会是false。解决方法是使用适当的字符串比较方法进行比较。

综上所述,当你检查一个循环中的字符串是否包含在字符串数组中时,得到的结果都是false可能是由于大小写敏感、存在空格或其他不可见字符、循环或字符串数组的数据问题,或者使用了错误的字符串比较方法等原因导致的。需要仔细检查代码逻辑、数据准确性,并使用正确的比较方法进行字符串比较。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

JAVA语言程序设计(一)04747

大家好,又见面了,是你们朋友全栈君。 indows常用快捷键和常见命令 省略100万行 二进制=>0、1 一个字节是八位。...**列如:‘1’、‘’、‘b’ 布尔常量:ture or false 空常量:null。...当我们需要这个功能时候,就可以去调用,这样既实现了代码复用性,也解决了代码复杂性 怎样定义一个方法呢? 命名规则:小驼峰 ,第一个小写,后面大写。...教程失败 流程: 创建项目=>取名字并且选中jdk=>生成src文件=>在src文件创建=>然后再建立类 方法回顾 这边还是选用一般方式去执行,高度集成化方式将在具体开发重新学习 定义方法...并且向其中赋予一个默认值 左侧数据类型,也就是数组当中保存数据,全都是统一什么类型 左侧括号,代表一个数组 左侧数组名称,给数组一个名字 右侧new代表创建数组动作 右侧数据类型

5.1K20

50道JavaScript详解面试题,你需要了解一下

4、Line1和Line2控制台输出是什么? 在Line1,我们有两个相互比较对象,并且它们都是唯一,因此它将在控制台上记录为False。...在Line2,我们使用===运算符来检查两个字符串基元而不是字符串对象,因此我们得到True。 5、控制台输出是什么,为什么? 与之前问题类似,我们比较了两个唯一对象。...在JavaScript,我们处理大多数事物都是对象,类似地,数组只是JavaScript特殊对象,它们具有其他对象所没有的属性。 7、以下函数返回类型是什么?...&是按位运算符,当我们比较11和3,它将与1011和0011二进制相同。结果,只有都为1位保持为1,返回输出为0011,它是3二进制表示形式, 因此3记录在控制台上。 14、Object。...但是,可以在JavaScript通过在未将所有可能参数都传递给函数返回不同输出来执行重载。 29、return语句在数组forEach循环中做什么?

3.5K40
  • JavaScript 进阶问题列表

    虽然它看着像是一个 number,但它实际上并不是一个真实 number:它有一堆额外功能并且它是一个对象。 当我们使用 == 操作符,它只会检查两者是否拥有相同值。...设定了 进制 后 (也就是第二个参数,指定需要解析数字是什么进制: 十进制、十六机制、八进制、二进制等等……),parseInt 检查字符串字符是否合法....在这个例子,所有的映射都是number类型,所以if判断typeof num === "number"结果都是true.map函数创建了新数组并且将函数返回值插入数组。 但是,没有任何值返回。...当函数没有返回任何值,即默认返回undefined.对数组一个元素来说,函数块都得到了这个返回值,所以结果一个元素都是undefined. ---- 51. 输出是什么?...替代者(replacer)可以是个函数或数组,用以控制哪些值如何被转换为字符串。 如果替代者(replacer)是个 数组 ,那么就只有包含在数组属性将会被转化为字符串

    1.3K10

    Lua: 好, 坏, 和坑爹

    虽然已经见过很多提到Lua好和坏列表 (例如, Lua优势, 为什么使用Lua, 为什么Lua没有得到广泛地应用, Lua优点,Lua好和坏, Lua对比JavaScript, 还有Lua陷阱...与众不同 表和字符串索引从1而不是0开始. 对一个值赋 nil 会从表删除它....字符串和数字会自动转换 (需要一个数字提供一个字符串, 反之亦然), 除了相等比较: 0 == "0" 为false, {} ~= 1 为 true, 还有foo["0"] 和foo[0] 引用是表不同值...尽管对于这个并没有很强需求, 但是每当我需要获取/设置一个环境变量总会直观想到去访问 getenv 和setenv [6/1/2012更新] miko 在评论中提到, 有 os.getenv,...在使用 luasocket和协程进行异步编辑多次遇到过这个错误, 最后使用 copas 模块解决. 在Lua 5.2这个问题得到解决.

    1.9K10

    LeetCode刷题记录(easy难度1-20题)

    和它下标放置一个字典,在循环这个列表,用目标结果target减正在循环这个数,并判断结果是否在字典(即是否已经遍历过),如果结果存在如字典,即找到相加等于结果两个值,如果不存在,即把值和对应下标存入字典...这里也一样,我们首先假设最长共同前缀为最短字符串前1个字符,在内循环中判断每个字符前i+1个子字符串是否等于假设最长共同前缀,如果不相同,我们还需要判断当前i+1是否等于1,如果等于,那就是第一个字符都不相同...循环字符串,如果当前字符为左字符串,则向栈(列表/数组)尾部加上这个字符,如果不等于左括号,则判断此时栈是否为空或者当前右括号字符在字典中所对应左括号是否等于出栈元素,如果不相等,则返回false...我们可以假设新列表长度为0,然后我们就能同时得到列表一个元素值,在循环中我们可以用下一个与之比较,如果不一样,就将假设新列表长度+1,同时,由于有元素不一样,我们需要将新元素赋给之前相同元素...,一个值,首先需要判断值是否数组,如果存在,即返回该值在数组索引值,如果不存在,就需要返回这个值应该在地方。

    1.3K40

    送你43道JavaScript面试题

    由于第一个环中变量i是使用var关键字声明,因此该值是全局。在循环期间,我们每次使用一元运算符++都会将i值增加1。因此在第一个例子,当调用setTimeout函数,i已经被赋值为3。...虽然它看起来像一个数字,但它并不是一个真正数字:它有一堆额外功能,是一个对象。 当我们使用==运算符,它只检查是否具有相同值。他们都有3值,所以它返回true。...,则第一个参数值始终是字符串数组。...JavaScript检查对象是否具有对内存相同位置引用。 我们作为参数传递对象和我们用于检查相等性对象在内存位于不同位置,所以它们引用是不同。...These actually have the value of undefined, but you will see something like: 当你为数组元素设置一个超过数组长度,JavaScript

    1.5K10

    Java岗大厂面试百日冲刺 - 日积月累,每日三题【Day1】 —— 基础篇1

    我们来看一下这张对String操作内存变化图:   我们可以看到,初始String值为"唐伯虎",然后在这个字符串后面加上新字符串"点香烟",这个过程是需要重新在栈堆内存开辟内存空间,最终得到了...他们俩均属于字符串变量,是可改变对象,每当我们用它们对字符串做操作,实际上是在一个对象上操作,这样就不会像String一样创建一些而外对象进行操作了,速度自然就相对快了。   ...实际应用场景: 如果不是在循环体中进行字符串拼接的话,直接使用 String “+” 就好了; 单线程循环中操作大量字符串数据 → StringBuilder.append(); 多线程循环中操作大量字符串数据...举例说明: 重点说明:是否重写Object类equals方法,会对结果造成影响 public static void main(String[] args) { // 字符串比较...为什么?   在重写equals()方法,也有必要对hashCode()方法进行重写,尤其是当我们自定义一个类,想把该类实例存储在集合

    30531

    43道JavaScript面试题

    虽然它看起来像一个数字,但它并不是一个真正数字:它有一堆额外功能,是一个对象。 当我们使用==运算符,它只检查是否具有相同值。 他们都有3值,所以它返回true。...,则第一个参数值始终是字符串数组。...JavaScript检查对象是否具有对内存相同位置引用。 我们作为参数传递对象和我们用于检查相等性对象在内存位于不同位置,所以它们引用是不同。...刚给它原型添加了一个方法。 原始类型字符串自动转换为字符串对象,由字符串原型函数生成。 因此,所有字符串字符串对象)都可以访问该方法!...These actually have the value of undefined, but you will see something like: 当你为数组元素设置一个超过数组长度,JavaScript

    1.8K20

    送你43道JavaScript面试题

    尽管有时我们可能不会给定字符串类型,但它们总是被转换为字符串。 JavaScript解释语句。当我们使用方括号表示法,它会看到第一个左括号[,然后继续,直到找到右括号]。...虽然它看起来像一个数字,但它并不是一个真正数字:它有一堆额外功能,是一个对象。 当我们使用==运算符,它只检查是否具有相同值。 他们都有3值,所以它返回true。...,则第一个参数值始终是字符串数组。...JavaScript检查对象是否具有对内存相同位置引用。 我们作为参数传递对象和我们用于检查相等性对象在内存位于不同位置,所以它们引用是不同。...These actually have the value of undefined, but you will see something like: 当你为数组元素设置一个超过数组长度,JavaScript

    1.6K30

    送你43道JavaScript面试题

    尽管有时我们可能不会给定字符串类型,但它们总是被转换为字符串。 JavaScript解释语句。当我们使用方括号表示法,它会看到第一个左括号[,然后继续,直到找到右括号]。...虽然它看起来像一个数字,但它并不是一个真正数字:它有一堆额外功能,是一个对象。 当我们使用==运算符,它只检查是否具有相同值。 他们都有3值,所以它返回true。...,则第一个参数值始终是字符串数组。...JavaScript检查对象是否具有对内存相同位置引用。 我们作为参数传递对象和我们用于检查相等性对象在内存位于不同位置,所以它们引用是不同。...These actually have the value of undefined, but you will see something like: 当你为数组元素设置一个超过数组长度,JavaScript

    1.5K20

    十个 PHP 开发者最容易犯错误

    如果你在想遍历数组操作数组每个元素,在 foreach 循环中使用引用会十分方便,例如 $arr = array(1, 2, 3, 4); foreach ($arr as &$value)...如果这样脚本在多个线程中被调用,他会有导致系统崩溃潜在危险。 因此,至关重要是,当你代码要进行查询,应该尽可能收集需要用到值,然后在一个查询获取所有结果。...一个我们平时常常能见到查询效率低下地方 (例如:在循环中)是使用一个数组值 (比如说很多 ID )向表发起请求。...尽可能通过一次查询得到想要结果。然而,依然要小心谨慎,不然就可能会出现下面我们要讲一个易犯错误......在类作用域之外,你仅仅只能检查是否将返回一个 null 值,这并不意味着没有设置相应键,因为它实际上还可能被设置为 null 。

    3K90

    十个 PHP 开发者最容易犯错误

    如果你在想遍历数组操作数组每个元素,在 foreach 循环中使用引用会十分方便,例如 $arr = array(1, 2, 3, 4); foreach ($arr as &$value)...如果这样脚本在多个线程中被调用,他会有导致系统崩溃潜在危险。 因此,至关重要是,当你代码要进行查询,应该尽可能收集需要用到值,然后在一个查询获取所有结果。...一个我们平时常常能见到查询效率低下地方 (例如:在循环中)是使用一个数组值 (比如说很多 ID )向表发起请求。...尽可能通过一次查询得到想要结果。然而,依然要小心谨慎,不然就可能会出现下面我们要讲一个易犯错误......在类作用域之外,你仅仅只能检查是否将返回一个 null 值,这并不意味着没有设置相应键,因为它实际上还可能被设置为 null 。

    2.6K50

    你可能从未使用过11+个JavaScript特性

    我们在 for 循环中看到这个: for(let i = 0, ii = 1; i< 10; i++, ii--) { ... } 当我们要编写短 lambda 函数,这会派上用场: const lb...第二个结果就是返回给调用者内容。 对于三元运算符,它也很有用,因为与短lambda语法相同,它仅接受表达式而不是语句。 二、in in 是用于检查对象属性是否存在关键字。...它将检查 "prop" 是否可作为 o 对象属性使用。 它返回 true ,因为我们在 o 定义了 "prop" 属性。...曾经读到过 undefined 之前可能会被赋予另一个值,而这会伪造其语义。 因此,使用 void 运算符可确保你得到一个真正 undefined 。 也用于最小化目的。...该运算符将一元 + 运算符结果取反。 首先,它将操作数转换为其 Number 值,然后取反该值。 -"23" // -23 此处发生是,字符串 "23" 将转换为其数字类型,从而得到 23 。

    1K10

    易犯错误 | 十个 PHP 开发者最容易犯错误

    如果你在想遍历数组操作数组每个元素,在 foreach 循环中使用引用会十分方便,例如 $arr = array(1, 2, 3, 4); foreach ($arr as &$value)...如果这样脚本在多个线程中被调用,他会有导致系统崩溃潜在危险。 因此,至关重要是,当你代码要进行查询,应该尽可能收集需要用到值,然后在一个查询获取所有结果。...一个我们平时常常能见到查询效率低下地方 (例如:在循环中)是使用一个数组值 (比如说很多 ID )向表发起请求。...尽可能通过一次查询得到想要结果。然而,依然要小心谨慎,不然就可能会出现下面我们要讲一个易犯错误......在类作用域之外,你仅仅只能检查是否将返回一个 null 值,这并不意味着没有设置相应键,因为它实际上还可能被设置为 null 。

    4.5K20

    java经典入门教程(java从入门到精通第几版好用)

    (shirt+1):非意思,就是取反,如果表达式为true,使用非就为false 3.if-else选择结构: 适用于基本选择条件情况 语法:if(要满足条件){ 满足条件得到结果...2){ 满足条件2得到结果 } }else{ 不满足条件1得到结果 } ==只能够比较数值类型,比较字符串是否相等,使用.equals(“要等于哪个字符串”); 比如:sex.equals...1、确定是否存在重复操作 2、分析出循环条件和循环操作分别是什么 3、套用while循环语法写出循环结构 4、检查循环是否能正确退出 5.do-while循环结构语法: do{ 循环操作...遇到方法时候直接执行完方法,获得结果,不进入方法体 6.对象数组:就是自己定义类型数组 自己定义类型,如果没有new一个对象,那么它初始就为null 7.:在windows以文件夹方式存在...名; 导入,可以将在这个所有类导入到我们这个类,导入后才能使用该类 通过ctrl+鼠标左键点击进入定义方法位置 八、字符串 1.字符串:就是一个或多个字符组成 2.声明字符串

    1.5K20

    送你58道JavaScript面试题(上)

    当我们输出 members数组,第一个元素会将引用对象打印出来。 ---- 47. 下面代码输出是什么?...设定了 进制 后 (也就是第二个参数,指定需要解析数字是什么进制: 十进制、十六机制、八进制、二进制等等……), parseInt 检查字符串字符是否合法....在这个例子,所有的映射都是number类型,所以if判断 typeofnum==="number"结果都是 true.map函数创建了新数组并且将函数返回值插入数组。 但是,没有任何值返回。...当函数没有返回任何值,即默认返回 undefined.对数组一个元素来说,函数块都得到了这个返回值,所以结果一个元素都是 undefined. ---- 51. 下面代码输出是什么?...替代者(replacer)可以是个函数或数组,用以控制哪些值如何被转换为字符串。 如果替代者(replacer)是个 数组 ,那么就只有包含在数组属性将会被转化为字符串

    77620

    关于python字典类型最疯狂表达方式

    这是在cpython解释器交互界面中计算上述字典表达式得到结果: >>> {True:'yes',1:'no',1.0:'maybe'}{True:'maybe'} 承认,当我第一次看到这个结果...但是当你逐步研究其中发生过程,这一切都是有道理。所以,让我们思考一下为什么我们得到这个 -想说是出乎意料- 结果。...“布尔类型是整数类型一个子类型,在几乎所有的上下文环境布尔值行为类似于值0和1,例外是当转换为字符串,会分别将字符串False“或”True“返回。...python字典类型是由一个哈希表数据结构存储当我第一次看到这个令人惊讶字典表达式直觉是这个结果与散列冲突有关。...Umm..好吧,可以得到什么结论呢? python字典类型是检查两个对象是否相等,并比较哈希值以确定两个密钥是否相同。

    1.1K100

    一文读懂字符串String

    为什么字符串是不可变 在工作,我们经常要在代码字符串进行赋值和改变它值,但是,为什么我们说字符串是不可变呢?...这样,str4就指向了堆创建这个"abc"字符串对象; 因为str3和str4指向是不同字符串对象,结果false。...因此,保护String类对于提升整个应用程序安全性至关重要。 当我们在程序传递一个字符串时候,如果这个字符串内容是不可变,那么我们就可以相信这个字符串内容。...StringJoiner StringJoiner是java.util一个类,用于构造一个由分隔符分隔字符序列(可选),并且可以从提供前缀开始并以提供后缀结尾。...如以下代码: String s = "11111...1111";//其中有10万个字符"1" 当我们使用如上形式定义一个字符串时候,当我们执行javac编译,是会抛出异常,提示如下: 错误: 常量字符串过长

    52020

    怒肝一夜,关于Java字符串全部,都在这份手册里了

    = null || str.trim().isEmpty(); } 03、第三方类库 在实际项目开发当中,检查字符串是否为空最常用还是 Apache commons-lang3 ,有各式各样判空方法...true,第二个结果false,这是因为使用 new 关键字创建对象和使用双引号声明字符串不是同一个对象,而“==” 操作符是用来判断对象是否相等。...StringJoiner 是 java.util 一个类,用于构造一个由分隔符重新连接字符序列。限于篇幅,本文就不再做过多介绍了,感兴趣同学可以去了解一下。...07、为什么阿里开发手册不建议在 for 循环中使用”+”号操作符进行字符串拼接 来看两段代码。 第一段,for 循环中使用”+”号操作符。...在 iMac 上测试出结果是: 1)第一段代码执行完时间为 6212 毫秒 2)第二段代码执行完时间为 1 毫秒 差距也太特么大了吧!为什么呢?

    1K21

    前端必备,25个最基本JavaScript面试问题及答案

    尽管 typeof bar === "object" 是检查 bar 是否对象可靠方法,令人惊讶是在JavaScript null 也被认为是对象!...——结果false: console.log(NaN === NaN); // logs "false" 一种半可靠方法来测试一个数字是否等于 NaN,是使用内置函数 isNaN(),但即使使用...11.写一个简单函数(少于80个字符),要求返回一个布尔值指明字符串是否为回文结构。 下面这个函数在 str 是回文结构时候返回true,否则,返回false。...所以,在上面的例子,简单地检查第2个参数是否未定义,就可以相应地确定函数被调用以及进行方式。...先是 "1" 变为 1,然后当应用 - 又变为了 -1 ,然后将其与 1相加,结果为 0,再将其转换为字符串,连接最后 "2" 运算对象,得到 "02"。

    93230
    领券