当前位置: 首页 > 知识库问答 >
问题:

若依系统添加lombok插件之后报java: 一元运算符 '!' 的操作数类型java.lang.String错误?

慕容灿
2024-08-04

如题:利用若依后台编写系统,系统中使用lombok插件,运行的时候提示java: 一元运算符 '!' 的操作数类型java.lang.String错误
查到源码是若依系统SysMenuController在文件下的if (!configService.checkConfigKeyUnique(config))这一行,不知道是什么情况,
有知道的兄弟,麻烦帮忙解答一下,不胜感激!

共有3个答案

薛俊美
2024-08-04

用的是LINUX系统,电脑里面安装了两套系统,之前那个是3.8.4现在用的是3.8.8的,但是程序运行的时候默认调用的源是老版本的,因此和现在的冲突了。linux系统下删除.H2文件然后重新构建包,下载新的源就成功了。

郎成龙
2024-08-04

configService.checkConfigKeyUnique这个方法的返回类型是不是String?

小牛23123
2024-08-04

这个错误提示 java: 一元运算符 '!' 的操作数类型java.lang.String 通常表明你试图在一个 String 类型的变量上使用逻辑非(!)运算符,这在 Java 中是不允许的。逻辑非运算符 ! 只能用于布尔(boolean)类型的变量。

在你的情况中,错误发生在 if (!configService.checkConfigKeyUnique(config)) 这一行。这表明 configService.checkConfigKeyUnique(config) 方法返回了一个 String 类型的值,而不是 boolean 类型的值。你需要检查 checkConfigKeyUnique 方法的实现,确保它返回一个布尔值(truefalse),而不是字符串或其他类型的值。

解决步骤

  1. 查看 checkConfigKeyUnique 方法的实现
    找到 ConfigService 类中的 checkConfigKeyUnique 方法,并检查其返回类型。确保它返回的是 boolean 类型。
  2. 修改 checkConfigKeyUnique 方法
    如果 checkConfigKeyUnique 方法返回的是 String,你需要修改它,使其返回一个布尔值。例如,如果这个方法当前通过返回一个字符串(如 "true""false")来表示结果,你应该修改它直接返回 truefalse

    // 假设的原方法
    public String checkConfigKeyUnique(Config config) {
        // ... 一些逻辑
        return "true"; // 或 "false"
    }
    
    // 修改后的方法
    public boolean checkConfigKeyUnique(Config config) {
        // ... 一些逻辑
        return true; // 或 false,基于你的逻辑判断
    }
  3. 重新编译并测试
    修改后,重新编译你的项目并运行测试以确保一切正常。
  4. 查看其他可能的问题
    如果 checkConfigKeyUnique 方法在多个地方被调用,并且某些地方确实需要返回字符串(尽管这听起来不太可能),你可能需要创建一个新的方法或修改调用点以匹配新的布尔返回类型。

通过这些步骤,你应该能够解决这个编译错误。如果 checkConfigKeyUnique 方法的实现是你无法控制的(例如,它来自第三方库),那么你可能需要寻找替代的方法或库,或者联系库的维护者以获取帮助。

 类似资料:
  • 我不知道如何修正我错误。错误状态 “DayCare.java:29:错误:二进制运算符”-“[numDaysString-1])的操作数类型不正确)第一类型:String第二类型:int”

  • 二进制运算符"*"的操作数类型错误 我在编译过程中得到的错误是二进制运算符的坏操作数类型,表示:第一种类型:int第二种类型:int[],我只能使用这个逻辑。以下是我节目的一部分

  • 为什么是否返回浮点值?我应该在这里做什么?

  • 主要内容:批量操作系统,多程序操作系统,多处理操作系统,实时操作系统当前场景中存在许多类型的操作系统: 批量操作系统 在20世纪70年代,批处理非常受欢迎。 作业()分批执行。 人们习惯于拥有一台称为大型机的计算机。 在批量操作系统中,可以访问多个人; 他们将各自的工作提交给系统执行。 系统根据先到先得的原则将所有工作放入队列中,然后逐个执行工作。 用户在所有作业执行时收集各自的输出。 批处理操作系统的缺点 1. 饥饿 批处理经常遭受饥饿。 如果批次中存在五个作业

  • 问题内容: 我无法弄清楚使用Python 2.7编写的代码存在的问题。我正在将引用转换为ints,但是我不断收到类型异常。有人可以协助吗? 我遇到了操作数异常,即使被比较的两个值在测试时都打印为整数。谁能给我一些反馈?谢谢! 这是异常响应: 问题答案: 您说这是造成麻烦的原因,但实际上您并未显示任何暗示该问题的信息。我认为这是问题所在: 您知道为什么这一行会导致该错误消息吗?你想要 要么 不 您要

  • 问题内容: 为什么返回浮点数?我在这里应该做什么? 问题答案: 我认为有s值,所以需要指定参数: