迹忆客 专注技术分享

当前位置:主页 > 学无止境 > 编程语言 > Java >

Java 错误 Char Cannot Be Dereferenced

作者:迹忆客 最近更新:2023/07/12 浏览次数:

本篇文章介绍如何解决Java的 java char cannot be dereferenced 错误。


Java Char cannot be dereferenced

当我们尝试使用 equals() 方法检查一个字符是否与另一个字符相等时,会出现错误 java char can not be dereferenced。 在Java中,引用是变量或对象的地址,解除引用意味着通过该引用访问变量或对象的功能。

Char 是原始类型变量,取消引用原始类型将引发错误 char 无法取消引用或无法调用原始类型 char 上的方法。 发生此错误的原因是基元被视为原始值而不是对象。

这是引发相同错误的示例:

package jiyik;

import java.io.BufferedReader;
import java.io.InputStreamReader;
import java.util.*;

public class Example {
    public static void main(String args[]) {
        do {
            BufferedReader Buffered_Reader = new BufferedReader(new InputStreamReader(System.in));
            System.out.print("Enter Your String");
            String DemoString = Buffered_Reader.readLine();

            if (DemoString.length() < 10) {
                System.out.println("");
                System.out.println("Please input a valid 10 digit phone number");
                System.out.println("");
            } else {
                if (DemoString.charAt(3).equals('-') && DemoString.charAt(7).equals('-')) {
                    System.out.println("2 Hyphens at 3 and 7");
                } else if (DemoString.charAt(3).equals('-')
                        && DemoString.charAt(8).equals('-')) {
                    System.out.println("2 Hyphens at 3 and 8");
                } else if (DemoString.charAt(3).equals('-')
                        && DemoString.charAt(9).equals('-')) {
                    System.out.println("2 Hyphens at 3 and 9");
                }
            }
        } while (1 < 2);
    }
}

上面的代码将抛出多个 char Cannot be dereferenced 错误。 查看输出:

Example.java:19: error: char cannot be dereferenced
                if (DemoString.charAt(3).equals('-') && DemoString.charAt(7).equals('-')) {
                                        ^
Example.java:19: error: char cannot be dereferenced
                if (DemoString.charAt(3).equals('-') && DemoString.charAt(7).equals('-')) {
                                                                            ^
Example.java:21: error: char cannot be dereferenced
                } else if (DemoString.charAt(3).equals('-')
                                               ^
Example.java:22: error: char cannot be dereferenced
                        && DemoString.charAt(8).equals('-')) {
                                               ^
Example.java:24: error: char cannot be dereferenced
                } else if (DemoString.charAt(3).equals('-')
                                               ^
Example.java:25: error: char cannot be dereferenced
                        && DemoString.charAt(9).equals('-')) {
                                               ^
6 errors
error: compilation failed

解决此错误的方法是使用 == 运算符而不是 equals() 方法。 查看解决方案:

package jiyik;

import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.util.*;

public class Example {
    public static void main(String args[]) throws IOException {
        do {
            BufferedReader Buffered_Reader = new BufferedReader(new InputStreamReader(System.in));
            System.out.print("Enter Your String");
            String DemoString = Buffered_Reader.readLine();

            if (DemoString.length() < 10) {
                System.out.println("");
                System.out.println("Please input a valid 10 digit phone number");
                System.out.println("");
            } else {
                if (DemoString.charAt(3) == '-' && DemoString.charAt(7) == '-') {
                    System.out.println("2 Hyphens at 3 and 7");
                } else if (DemoString.charAt(3) == '-'
                        && DemoString.charAt(8) == '-') {
                    System.out.println("2 Hyphens at 3 and 8");
                } else if (DemoString.charAt(3) == '-'
                        && DemoString.charAt(9) == '-') {
                    System.out.println("2 Hyphens at 3 and 9");
                }
            }

        } while (1 < 2);

    }
}

现在错误 char Cannot be dereferenced 已在代码中解决。 查看输出:

Enter Your String0000000000
Enter Your String

Please input a valid 10 digit phone number

Enter Your String

转载请发邮件至 1244347461@qq.com 进行申请,经作者同意之后,转载请以链接形式注明出处

本文地址:

相关文章

修复 Java 中错误 Error: Else Without if

发布时间:2023/07/13 浏览次数:183 分类:Java

本篇文章我们将了解在用 Java 编写代码时只说 'else' without 'if' 的错误。 我们还将找出导致此错误的可能原因并找到解决方案。Java 中 error: 'else' without 'if'

Java 错误 Java.Net.SocketTimeoutException: Connection Timed Out

发布时间:2023/07/13 浏览次数:161 分类:Java

在本篇文章中,我们将讨论 java.net.SocketTimeoutException: Connection timed out。 但首先,让我们仔细看看套接字和超时的概念。Java 中的套接字 两个计算机应用程序之间的逻辑链接可能有多个端点,其

解决 Java 中 Generic Array Creation 错误

发布时间:2023/07/12 浏览次数:189 分类:Java

本篇文章通过代码示例说明了 generic array creation 错误,并重点介绍了创建通用数组时出现此错误的原因。 本次讨论将得出解决方案,我们将学习如何使用对象数组和反射功能创建通用数组。

修复 Java 错误 java.lang.UnsupportedClassVersionError

发布时间:2023/07/12 浏览次数:130 分类:Java

本篇文章介绍了 Java 中的 Exception in thread main java.lang.UnsupportedClassVersionError 错误。java.lang.UnsupportedClassVersionError的原因 UnsupportedClassVersionError 是 ClassFormatError 异常的子类,当 JVM 尝试读取类并发现

修复 Class X Is Public Should BeDeclared in a File Named X.java 错误

发布时间:2023/07/12 浏览次数:192 分类:Java

我们将经历各个阶段,从演示一个编译时错误开始,该错误指出类 X 是公共的,应该在名为 X.java 的文件中声明。 class X is public, should be declared in a file named X.java 的原因 然后,我们将看到导致此

Java 错误 Invalid LOC Header (Bad Signature)

发布时间:2023/07/12 浏览次数:192 分类:Java

本篇文章介绍了 Java 的无效 LOC 标头(错误签名)错误。Java 中无效的 LOC 标头(错误签名) 每当本地 Maven 存储库中的 jar 文件损坏时,就会出现无效 LOC 标头(错误签名)错误。

Java 错误 java.net.ConnectException

发布时间:2023/07/12 浏览次数:171 分类:Java

本篇文章介绍了 Java 中的 java.net.ConnectException 错误。Java 中的 java.net.ConnectException 错误 java.net.ConnectException 是使用网络时最常见的异常。 它主要发生在客户端、应用程序和服务器之间建立 TCP 连

扫一扫阅读全部技术教程

社交账号
  • https://www.github.com/onmpw
  • qq:1244347461

最新推荐

教程更新

热门标签

扫码一下
查看教程更方便