列表中的get(int)不能应用于java.lang.String
我创建了一张这样的地图:列表中的get(int)不能应用于java.lang.String,java,Java,我创建了一张这样的地图: private Vector vaildateTestScore(String persTestCode, String score, List<TSpecialTest> specialTestList, Vector errorVtr) { Map<String, TSpecialTest> specialTestmap = new HashMap<String, TSpecialTest>();
private Vector vaildateTestScore(String persTestCode, String score, List<TSpecialTest> specialTestList, Vector errorVtr) {
Map<String, TSpecialTest> specialTestmap = new HashMap<String, TSpecialTest>();
for (TSpecialTest specialTest : specialTestList) {
specialTestmap.put(persTestCode,specialTest);
}
if (specialTestList.get(persTestCode).getPersTestScrQyMin() < score){
errorVtr.add(specialTestList.get(persTestCode)+" max range is "+" "+specialTestList.get(persTestCode).getPersTestScrQyMax());
System.out.println("There was an error with > "+specialTestList.get(persTestCode).getPerTestTypeCd());
}
else if(specialTestList.get(persTestCode).getPersTestScrQyMax() > score){
errorVtr.add(specialTestList.get(persTestCode).getPerTestTypeCd()+" min range is "+" "+specialTestList.get(persTestCode).getPersTestScrQyMin());
System.out.println("There was an error with < "+specialTestList.get(persTestCode).getPerTestTypeCd());
}
return errorVtr;
}
然后调用该方法,如下所示:
String persTestCode = elem.replace("scr.", "");
String score = request.getParameter(elem);
Vector errorVtr = new Vector();
//validates inputted test scores
vaildateTestScore(persTestCode, score, specialTestList,errorVtr);
--------------------解决--------------------------------
这是我这边的一个完整的网站。标签按钮和名字的相似性让我印象深刻。这就是我想做的
private Vector vaildateTestScore(String persTestCode, String score, List<TSpecialTest> specialTestList, Vector errorVtr) {
Map<String, TSpecialTest> specialTestmap = new HashMap<String, TSpecialTest>();
for (TSpecialTest specialTest : specialTestList) {
specialTestmap.put(persTestCode,specialTest);
}
if (specialTestmap.get(persTestCode).getPersTestScrQyMax() > Integer.parseInt(score)){
errorVtr.add(specialTestmap.get(persTestCode)+" max range is "+" "+specialTestmap.get(persTestCode).getPersTestScrQyMax());
System.out.println("There was an error with > "+specialTestmap.get(persTestCode).getPerTestTypeCd());
}
else if(specialTestmap.get(persTestCode).getPersTestScrQyMax() > Integer.parseInt(score)){
errorVtr.add(specialTestmap.get(persTestCode).getPerTestTypeCd()+" min range is "+" "+specialTestmap.get(persTestCode).getPersTestScrQyMin());
System.out.println("There was an error with < "+specialTestmap.get(persTestCode).getPerTestTypeCd());
}
return errorVtr;
}
private Vector vaildateTestScore(字符串pertestcode、字符串score、列表specialTestList、向量errorVtr){
Map specialTestmap=新HashMap();
用于(t特殊测试特殊测试:特殊测试列表){
specialTestmap.put(persTestCode,specialTest);
}
if(specialTestmap.get(persTestCode.getPersTestScrQyMax()>Integer.parseInt(分数)){
errorVtr.add(specialTestmap.get(persTestCode)+“最大范围为”+“”+specialTestmap.get(persTestCode.getPersTestScrQyMax());
System.out.println(“>+specialTestmap.get(persTestCode.getPerTestTypeCd())有一个错误”;
}
else if(specialTestmap.get(persTestCode.getPersTestScrQyMax()>Integer.parseInt(分数)){
errorVtr.add(specialTestmap.get(persTestCode).getPerTestTypeCd()+“最小范围为”+“”+specialTestmap.get(persTestCode).getPersTestScrQyMin());
System.out.println(“与<”+specialTestmap.get(persTestCode.getPerTestTypeCd()一起出现错误);
}
返回错误VTR;
}
specialTestList.get(persTestCode)
正在尝试调用传入的字符串
,因此这当然会失败
也许你想用地图specialTestmap
来代替;它将有一个get(String)
方法,因为您创建的映射是由String
键控的
还要注意
if (specialTestList.get(persTestCode).getPersTestScrQyMin() < score){
您反复使用相同的键值,persTestCode
。后续的PUT将覆盖早期的PUT,因此循环没有任何意义。specialTestList.get(persTestCode)
正在尝试调用传入一个字符串,因此当然会失败
也许你想用地图specialTestmap
来代替;它将有一个get(String)
方法,因为您创建的映射是由String
键控的
还要注意
if (specialTestList.get(persTestCode).getPersTestScrQyMin() < score){
您反复使用相同的
键值,persTestCode
。后续的PUT将覆盖早期的PUT,因此循环没有任何意义。问题似乎非常清楚
使用列表
,您可以使用的唯一获取
功能是:
List#get(int)
字符串作为参数调用方法get
您的目标当然是从字符串
所附的列表中获取值,而不是使用列表
问题似乎非常清楚
使用列表
,您可以使用的唯一获取
功能是:
List#get(int)
但是您试图使用字符串作为参数调用方法get
您的目标当然是从附加到字符串的列表中获取值,而不是使用list
Java listget()
方法将整数作为索引放入列表,并返回该索引处的对象。您可能会将其与在方法开头添加到的地图数据结构相混淆。Java Listget()
方法将整数作为索引放入列表,并返回该索引处的对象。您可能会将其与在方法开头添加到的地图数据结构相混淆。List.get()方法需要一个整数索引,而您正在传递一个字符串值
if (specialTestList.get(persTestCode).getPersTestScrQyMin() < score){
if(specialTestList.get(persTestCode.getPersTestScrQyMin()
您可能希望从地图中获取对象,如下所示:
if (specialTestmap.get(persTestCode).getPersTestScrQyMin() < score){
if(specialTestmap.get(persTestCode.getPersTestScrQyMin()
List.get()方法需要一个整数索引,而您正在传递一个字符串值
if (specialTestList.get(persTestCode).getPersTestScrQyMin() < score){
if(specialTestList.get(persTestCode.getPersTestScrQyMin()
您可能希望从地图中获取对象,如下所示:
if (specialTestmap.get(persTestCode).getPersTestScrQyMin() < score){
if(specialTestmap.get(persTestCode.getPersTestScrQyMin()
列表只提供get(int-index)方法,不能使用get(instanceName)获取名为instanceName的实例。
补编:
您使用map#put(key,value)的方式不正确。我认为您应该仔细阅读java#api。列表只提供get(int index)方法,不能使用get(instanceName)获取名为instanceName的实例。
补编:
你使用map#put(key,value)的方式是不正确的。我认为你应该仔细阅读java#api。这是myside上的一个完整的oversite。我让IDE上的tab按钮占了上风,因为specialTestList
和specialTestmap
是相似的名称
private Vector vaildateTestScore(String persTestCode, String score, List<TSpecialTest> specialTestList, Vector errorVtr) {
Map<String, TSpecialTest> specialTestmap = new HashMap<String, TSpecialTest>();
for (TSpecialTest specialTest : specialTestList) {
specialTestmap.put(persTestCode,specialTest);
}
if (specialTestmap.get(persTestCode).getPersTestScrQyMax() > Integer.parseInt(score)){
errorVtr.add(specialTestmap.get(persTestCode)+" max range is "+" "+specialTestmap.get(persTestCode).getPersTestScrQyMax());
System.out.println("There was an error with > "+specialTestmap.get(persTestCode).getPerTestTypeCd());
}
else if(specialTestmap.get(persTestCode).getPersTestScrQyMax() > Integer.parseInt(score)){
errorVtr.add(specialTestmap.get(persTestCode).getPerTestTypeCd()+" min range is "+" "+specialTestmap.get(persTestCode).getPersTestScrQyMin());
System.out.println("There was an error with < "+specialTestmap.get(persTestCode).getPerTestTypeCd());
}
return errorVtr;
}
private Vector vaildateTestScore(字符串pertestcode、字符串score、列表specialTestList、向量errorVtr){
Map specialTestmap=新HashMap();
用于(t特殊测试特殊测试:特殊测试列表){
specialTestmap.put(persTestCode,specialTest);
}
if(specialTestmap.get(persTestCode.getPersTestScrQyMax()>Integer.parseInt(分数)){
errorVtr.add(specialTestmap.get(persTestCode)+“最大范围为”+“”+specialTestmap.get(persTestCode.getPersTestScrQyMax());
System.out.println(“>+specialTestmap.get(persTestCode.getPerTestTypeCd())有一个错误”;
}
else if(specialTestmap.get(persTestCode.getPersTestScrQyMax()>Integer.parseInt(分数)){
errorVtr.add(specialTestmap.get(persTestCode)。getPerTestTypeCd()+“最小范围为”+“”+specialTestmap.get(persTe