java - 为什么这些String比较在java中有不同的结果?
问题描述
这会引发 IllegalStateException,checkArgument 方法是 Google 的com.google.common.base.Preconditions.checkArgument
:
checkArgument(apikey.equals("3243442-bb73-123-421f-sfsglk"), "Wrong api key.");
对比
这进入 if 块:
if (apikey.equals("3243442-bb73-123-421f-sfsglk")) {
// do something
}
apikey 值存储在 Spring 引导配置文件中,并由@Value("${apikey}")
.
我知道这不是 API 密钥的完成方式,但我需要一些快速的东西来让一个小型项目来测试一些东西。
解决方案
Spring-Boot
不会修剪配置文件中的尾随空格。
如果您确定配置文件中的密钥是正确的,则应该通过检查:
checkArgument(apikey.trim().equals("3243442-bb73-123-421f-sfsglk"), "Wrong api key.");
推荐阅读
- android - 接口不同实例的依赖注入
- c# - 如何生成从 01 到 99 的 5 个随机数并将今天的日期作为第 6 个数字?
- python - 想要从 python 中的字符串中拆分产品名称和评级
- c++ - 使用指针删除未分配的新内容
- javascript - 如何使用 multer node js 将图像上传到 Google Cloud
- javascript - js获取部分直播的base64
- git - 为什么我在 VsCode git 中有两个源代码控制?
- python - 将 txt 文件导入 Python numpy 数组
- c++ - app\src\main\cpp\CMakeLists.txt:C/C++ 调试|arm64-v8a:配置失败
- json - 如何在 Golang 的顶级结构中检索嵌套的 json 值?