【发布时间】:2017-12-20 19:43:00
【问题描述】:
我正在尝试将一个字符串拆分为 3 个整数,但在 java 博士上出现错误“int cannot be dereferenced”,请帮助
代码:
public class ValidDate
{
public int validYear;
public int validMonth;
public int validDay;
public ValidDate(String validDate )throws Exception
{
validYear = Integer.parseInt(validDate).split[1];
validMonth = Integer.parseInt(validDate).split[2];
validDay = Integer.parseInt(validDate).split[3];
.....}
【问题讨论】:
-
Integer.parseInt(validDate)返回一个int。int没有split功能。提示:让我们使用 String 的 split 函数来拆分年、月、日 => 之后将这些字符串解析为 int -
@TuyenNguyen 再看代码。使用 that 语法,
split不是方法。它是int[]或Integer[]类型的字段。注意使用[],而不是()。 -
如果你想解析日期字符串,为什么不直接使用内置日期解析器之一(
DateTimeFormatter或SimpleDateFormat)? -
@Andreas 你应该注意到
Integer.parseInt返回一个int而int或Integer没有任何字段或方法split。int[]或Integer[]也没有字段split -
@TuyenNguyen 我知道。我只是指出你假设 OP 试图使用
split()方法调用,而语法不是方法调用语法。因此,您关于“int没有split函数”的说法虽然正确,但与语法不一致。说“int没有split字段”会更准确,并显示代码。
标签: java