gpt4 book ai didi

java - 为什么我的多头变成了整数?

转载 作者:行者123 更新时间:2023-12-01 17:36:59 24 4
gpt4 key购买 nike

我正在处理 JSP 页面,但在运行时遇到空指针。为了隔离问题,我对预期的变量响应进行了硬编码,而不是使用 getter(以前是 action.getName(psi.getLong()) ))。果然,当我尝试使用原始 long 运行页面时出现错误。

An error occurred at line: 70 in the jsp file: /auth/foo/viewBar.jsp
The literal 9000000000 of type int is out of range

70: <%long sarah = 9000000000; %>
71: <td> <%= StringEscapeUtils.escapeHtml(""+action.getName(sarah)) %></td>

getName 在其他地方定义如下

public String getName(long mid) throws DBException {
try {
return personnelDAO.getName(mid);
} catch (fooException e) {
e.printStackTrace();
return "exception retrieving name";
}

但从上面的情况来看,我猜 9000000000 甚至还没有过去那么远。 .JSP 不能处理长整型吗?

此外,这个错误是否会导致我在运行时遇到的空指针错误,或者这是一个完全独立的错误? (这就是堆栈跟踪的全部内容:NullPointerException: null)

编辑:哦。使用工厂时,忘记实例化我正在使用的 DAO 之一。这就是 NullPointer 的原因。案件已结。

最佳答案

long sarah = 9000000000;更改为long sarah = 9000000000L;。如果没有“L”后缀,任何整数文字在 Java 中都是 int

关于java - 为什么我的多头变成了整数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5308297/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com