创建charAt()方法

时间:2014-12-11 00:21:38

标签: java

我的部分工作是创建一个charAt()方法,该方法将返回指定索引处的char值。如果索引无效,则返回索引为零的字符。

这是我到目前为止所记录的,请记住,我的任务明确指出我不能使用Java的现有字符串方法。

public char charAt(int index) {
    char a;
    if (index < 0 || index > 25)
      a = list[0];
    else
      a = list[index];
    return a;
}

每当我调用方法NullPointerException时,我都会收到charAt错误。你推荐的是否有任何更正或指示?或者问题太模糊了?

1 个答案:

答案 0 :(得分:0)

您应该考虑您使用的实际数据,而不是使用“魔术数字”进行边界检查:

if (list.length == 0) {
    //error, no data
}
char back = list[0];
if (index >= 0 && index < data.length) {
    back = list[index];
}
return back;

另一方面,正如Juned在评论中指出的那样,如果您有空值并尝试取消引用它们(通过.[]),您将获得NullPointerException

所以一些可能的原因是:

  • list为空
  • 您呼叫的对象charAt for为null,例如myData
  • 中的myData.charAt(42)为空