当前位置: 首页 > 知识库问答 >
问题:

使用for循环跳过空值

哈扬
2023-03-14

DB_示例我正在探索数据库的自动化测试,并努力在表中找到空值。

我想测试:

>

如果EID2=

有null值,我得到以下错误:不能调用String.startswith(String),因为java.util.Map.get(对象)的返回值为null。

我的第一个值总是空的,所以我从计数器1开始循环,这解决了这个问题,但是我的表中的EID和CID中都有空值。如果不满足条件(即值为null),测试失败也没关系,但我的应用程序在达到任何null值时崩溃。我可以更改什么以避免崩溃和筛选空值?我一直没能解决这个问题。尝试添加nullpointerexception并对循环进行一些修改,但没有成功。我已经包括了一个表格的示例图像,以供参考。

Map<String, String> result = new HashMap<>();
Map<String, String> result = new HashMap<String, String>();
query = "select * FROM DEA.TUSET where T_DATE >'2010-11-02'";
resultSet = statement.executeQuery(Query)
ResultSetMetaData rsmd = resultSet.getMetaData();
long pId = 1:
while (resultSet.next()) {
for int col = 1; col <= rsmd.getColumnCount(); col ++) {
result.put(rsmd.getColumnLabel(col)+pId, resultSet.getString(col)); }
pId ++;
}
//print all results in col
for (int i=0; i<pId;i++)
System.out.println("EID: "+result.get("EID"+i));

//problem
for (int i=1; i<pId;i++)
if (result.get("EID"+i).startsWith("8"){
if result.get("CID"+i).startsWith("M") {
System.out.println ("true");
}
}

共有1个答案

杜河
2023-03-14

在检查startsWith()之前,请检查该值是否为空

if(result.get("EID"+i)!=null && result.get("CID"+i)!=null ){
    //your code to execute
}
else {
    // some code to execute if the value is null
}
 类似资料:
  • 问题内容: 我正在尝试使用for循环跳过值。就像是 有什么建议?谢谢! 问题答案: 在循环开始时使用它: 这比仅继续进行要好得多。您不想迭代128到159。你会浪费时间。

  • 问题内容: 我的代码产生了意外的结果。看来我的for循环跳过了第一次迭代,我不明白为什么。 返回…(假设输入的数字是姓名) 为什么第一个get.nextLine()被跳过? 问题答案: 当前,您对Scanner#nextInt的调用不占用换行符,因此将其传递给您的第一次调用,因此 不会 阻塞。 您将需要添加 通话后,您的第一个通话将阻止。

  • 问题内容: 我对Java相当陌生,但是我的for循环立即跳到以下代码中的最高可能值: 第一个for循环正在搞砸,而嵌套的则运行良好。变量i初始化为0,难度为16。此摘录的输出如下: 如果有人可以帮助我,将不胜感激。由于我是新手,因此我可能忽略了一些小而基本的东西。 问题答案: 问题是第二行末尾的分号。没有主体的循环是有效的。在方括号内具有独立的代码块也是有效的(这定义了变量的作用域- 如果在方括号

  • 我试图在for循环中获得for循环,因此输出如下: 我希望输出显示一个正方形 我不知道它为什么不这样做。下面是我的代码:

  • 问题内容: 我有一个循环列表,到达后我想跳过3个元素。在此答案中,提出了一些建议,但我未能充分利用它们: 四次当然是胡说八道,而四次是行不通的。 输出应如下所示: 问题答案: 用于循环;您可以在自己的代码中执行此操作,然后在循环内推进迭代器;再次调用iterable只会返回相同的iterable对象,因此您可以在下一次迭代中紧跟着在循环内推进iterable 。 通过函数推进迭代器; 它可以在Py

  • for循环是一种重复控制结构,允许您有效地编写需要执行特定次数的循环。 语法 (Syntax) Perl编程语言中for循环的语法是 - for ( init; condition; increment ) { statement(s); } 这是for循环中的控制流 - init步骤首先执行,只执行一次。 此步骤允许您声明和初始化任何循环控制变量。 只要出现分号,就不需要在此处输入声明。