加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > Java > 正文

java – 测试indexOf返回值的最佳实践

发布时间:2020-12-15 00:42:28 所属栏目:Java 来源:网络整理
导读:在测试indexOf的返回值时,您通常会写什么? if str.indexOf("a") 0 VS if str.indexOf("a") == -1 一种方法比另一种方法更受欢迎吗? 我实际上是为任何语言中的任何函数提出这个问题,在错误时返回-1. 我通常更喜欢 0方法,因为如果函数扩展为在某些其他情况下
在测试indexOf的返回值时,您通常会写什么?
if str.indexOf("a") < 0

VS

if str.indexOf("a") == -1

一种方法比另一种方法更受欢迎吗?

我实际上是为任何语言中的任何函数提出这个问题,在错误时返回-1.

我通常更喜欢< 0方法,因为如果函数扩展为在某些其他情况下返回-2,代码仍然可以工作. 但是,我注意到== -1方法更常用.有原因吗?

解决方法

我尝试实现一般原则,即“错误条件”的测试应该尽可能宽.因此我会使用< 0而不是== -1. 这是我在CS学位期间在正式方法课程中教授的原则. 一个简单的如果它没关系太多,但是在循环中,检测任何“超出范围”条件以确保循环终止是重要的,并且不要假设将完全命中循环终止值. 以此为例:
i = 0;
while (i < 10) {
    ++i;
    // something else increments i
}

V.S.

i = 0;
while (i != 10) {
    ++i;
    // something else increments i
}

后一种情况可能会失败 – 前一种情况不会.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读