我正在尝试检查字符串在不同位置处的连字符(对于电话号码,因为输入有所不同),但是我一直收到错误消息
不能取消引用char
码:
do {
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
System.out.print("Enter String");
String raw = br.readLine();
if (raw.length() < 10) {
System.out.println("");
System.out.println("Please input a valid phone number of at least 10 digits/letters");
System.out.println("");
} else {
if (raw.charAt(3).equals('-') && raw.charAt(7).equals('-')) {
System.out.println("2 Hyphens at 3 and 7");
} else if (raw.charAt(3).equals('-')
&& raw.charAt(8).equals('-')) {
System.out.println("2 Hyphens at 3 and 8");
} else if (raw.charAt(3).equals('-')
&& raw.charAt(9).equals('-')) {
System.out.println("2 Hyphens at 3 and 9");
}
}
} while (1 < 2);
如果您使用类似的方法,它将起作用:
if (raw.charAt(3) == '-' && raw.charAt(7) == '-') {
System.out.println("2 Hyphens at 3 and 7");
} else if (raw.charAt(3) == '-' && raw.charAt(8) == '-') {
System.out.println("2 Hyphens at 3 and 8");
} else if (raw.charAt(3) == '-' && raw.charAt(9) == '-') {
System.out.println("2 Hyphens at 3 and 9");
}
问题是raw.charAt(n)
返回a char
而不是a
String
。该equals()
方法只能用于对象。Char是没有方法的原始数据类型。在char上,您应该使用==
或运算符!=
。
问题内容: 我是Java的新手,正在使用BlueJ。尝试编译时,我不断收到此“无法取消引用Int”错误,但我不确定是什么问题。该错误专门在底部的if语句中发生,其中说“等于”是错误,并且“不能取消引用int”。希望得到一些帮助,因为我不知道该怎么办。先感谢您! 问题答案: 是原始类型而不是。您不能像在这里那样在原始类型上调用方法: 尝试替换此: 与
问题内容: 我试图像这样使用PrintWriter: 但是Java抱怨: 无效不能取消引用 如果我做: 可行,有什么原因吗? 问题答案: 是。(和其他方法)的签名返回(不是)。您不能将调用链接到方法。
问题内容: 因此,我在这里看到了一个示例,该示例如何使用Comparator接口对ArrayList进行排序,因此我进行了尝试。使用Strings可以很好地工作,但是我要排序的一个变量是Integer,它将无法编译,并说“不能取消引用int”。 我该怎么做才能使它起作用,并允许我按score变量对ArrayList进行排序? 这是我的代码: 谢谢您的帮助! 问题答案: 您不能在上调用方法;没有可以
调用原子。结构字段上的AddInt64会恐慌,但当我们重新排列字段顺序时不会;为什么? 使用此类型: 并调用
" boolean cancel(boolean mayInterruptIfRunning)尝试取消此任务的执行。如果任务已经完成、已经取消或由于其他原因无法取消,此尝试将会失败 https://docs.oracle.com/javase/7/docs/api/java/util/concurrent/Future.html#cancel(布尔值) 除了上面列出的原因之外,还有什么其他原因会无
情况是这样的:我有一个ObservableSet(因为我的数据的ID字段必须是唯一的),它有一个侦听器。该侦听器更新ObservableList。ObservableList反过来由TableView监听。(根据注释,这都是必要的,因为在JavaFX中不能使用ObservableSet支持TableView。) 然而,我们发现对集合执行多个操作不会触发TableView的刷新。 null 但是,编