我正在尝试使用Kotlin,我有一个以下的Java注释
@Target( { TYPE })
@Retention(RUNTIME)
public @interface View {
String[] url() default "";
Class<? extends Component> parent() default Component.class;
}
Run Code Online (Sandbox Code Playgroud)
在Java代码中,它以下列方式使用
@View(url="/", parent=RootView.class)
public class FrontView extends Component {
}
Run Code Online (Sandbox Code Playgroud)
如何在Kotlin中表达出来?我试过了
[View(url=Array<String>("/"), parent=Class<RootView>)]
class FrontView : Component() {
}
Run Code Online (Sandbox Code Playgroud)
但它没有编译.我只得到类型不匹配错误.
Type mismatch.
Required: jet.Array<jet.String?>?
Found: jet.Array<T>
Run Code Online (Sandbox Code Playgroud)
和
Type mismatch
Required: java.lang.Class<out net.contextfw.web.application.component.Component?>?
Found: java.lang.Class<T>
Run Code Online (Sandbox Code Playgroud) 我对NullPointerException有一个非常奇怪的问题.代码示例如下:
...
... public String[] getParams(...) {
... ...
... ...
143 return new String[] {
144 getUserFullName(),
145 StringUtil.formatDate(sent),
. tiltu,
. StringUtil.initCap(user.getName()),
. vuosi.toString(),
. asiatyyppi[0] + " " + lisatiedot[0],
. asiatyyppi[1] + " " + lisatiedot[1],
. alaviitteet[0],
152 alaviitteet[1]};
153 }
Run Code Online (Sandbox Code Playgroud)
现在,我在生产中遇到了一个堆栈跟踪问题:
java.lang.NullPointerException
at package.EmailService.getParams(EmailService.java:143)
...
Run Code Online (Sandbox Code Playgroud)
我自己无法生成那种堆栈跟踪.这可能是一些环境问题,由于某种原因,行号不匹配.如果我对任何变量堆栈跟踪点的空引用指向该特定行但从不到行143.
但我想问的是:是否有可能在第143行产生NullPointerException?