0

我正在使用 Play Framework 2.0,我正在尝试打印一个表格,并且根据我的数据类型,我的程序将输入不同的内容。我已经想出了如何使用 isInstanceOf 定义输入的类,但是当我在 List 上执行此操作时,它会返回:

non-variable type argument models.Medication in type java.util.List[models.Medication] is unchecked since it is eliminated by erasure

下面是我的代码:

@(title: String)(content: Object)
<tr>
<td>@title</td>
@if(content.isInstanceOf[Date]) {    
    <td>@content.asInstanceOf[Date].format("yyyy-MM-dd")</td>    
} else{
    @if(content.isInstanceOf[List[Medication]]){
        <td>
        <table>
        @for(a <- content) {
            @a.name<br>
        }
        </table>
        <td>
    } else {
        <td>@content</td>
    }
}

请帮忙...

4

1 回答 1

0

我认为警告不会阻止编译,它可能会掩盖真正的编译错误。

尝试ifcontent.isInstanceOf[java.util.List[_]]测试(这应该会使警告消失)。

您还需要转换content :for (a <- content.asInstanceOf[java.util.List[Medication]])在 for 表达式中。

我不确定 play template 如何确定它是 java 还是ListScala List,所以完全限定的名称可能会有所帮助。

于 2013-03-21T05:06:04.490 回答