小编yol*_*ole的帖子

注释Java类是安全的参考比较

我有一个多圈的类,所以我知道给定一个特定的键,永远不会有两个相同类的实例存在.这意味着,而不是:

if (someObject.equals(anotherObject))
Run Code Online (Sandbox Code Playgroud)

......我这样做是安全的:

if (someObject == anotherObject)
Run Code Online (Sandbox Code Playgroud)

这个类也是final,所以我知道任何与多态相关的东西都可能导致比较问题.

IDEA尽职尽责地告诉我,直接比较两个实例和我应该使用的风险是有风险的.equals(),但我知道它不是在这种情况下.是否有一些注释我可以应用于我的类来指示IDEA,以及可能的其他编辑,更重要的是其他用户,我的班级实例上的相等性的直接参考比较是安全的吗?

我知道我可以告诉IDEA抑制警告,但我必须为这两种类型或全局之间的每一次比较做到这一点,这两者都不是一个好主意.另外,更重要的是,我让我班级的用户知道它安全,更快,甚至更喜欢(说服我).equals().

java equality equals intellij-idea multiton

7
推荐指数
1
解决办法
72
查看次数

如何更改AndroidStudio右边距

AndroidStudio中的右边距为100个字符.我似乎无法找到一个选项来改变它说120个字符.有人可以帮忙吗?

android-studio

7
推荐指数
1
解决办法
1959
查看次数

龙目岛与IDEA 13:找不到符号

我尝试过在Intellij IDEA 13 Ultimate上使用Lombok.然而.当我使用特定注释时,我得到了所有应该可用的方法的着名错误"找不到符号",例如我用作注释的那些@Builder,@AllArgsConstructor@Data.

我已经设置了我的编译器以启用注释处理,我深入研究了它,但没有解决方法如何解决它.

任何建议或提示都会很好.

java intellij-idea lombok intellij-13

7
推荐指数
2
解决办法
8342
查看次数

在Kotlin,是否可以在运行时更改委派?

生成的以下代码的字节代码private final Base $$delegate_0Derived类中创建一个字段.b分配可变字段时,原始委托不会更改.

有没有办法在保持zero boilerplate实现的同时在运行时更改委托?

interface Base {
    fun print()
}

class BaseImpl(val x: Int) : Base {
    override fun print() { println(x) }
}

class Derived(var b: Base) : Base by b

fun main(args: Array) {
    val b = BaseImpl(10)
    val derived = Derived(b)
    derived.print()// prints 10

    derived.b = BaseImpl(20)
    derived.print()// prints 10
}

该样本取自文档https://kotlinlang.org/docs/reference/delegation.html并进行了编辑.

kotlin

7
推荐指数
1
解决办法
578
查看次数

NestJs - 无法在RolesGuard中获取用户上下文

我使用NestJS作为客户端API的框架.在框架内,我们正在使用一个非常标准的Passport/JWT auth基础设施,该工作正常.我们的AuthGuard在找到承载令牌时触发,并且在安全的API端点中,我可以通过'@Res()request注入HTTP上下文并访问'request.user'属性,该属性包含我的Jwt令牌的有效负载.

最重要的是,我们尝试以与文档中提供的示例代码非常相似的方式实现"RolesGuard"以及GitHub上的一些示例项目(其中没有一个实际使用此防护,但它们将其作为示例防护包括在内).

我们的问题是我们的AuthGuard会触发并验证Jwt令牌,然后我们的RolesGuard会触发,但它传递的请求对象没有附加到请求的用户元数据.

我们的RolesGuard中的关键代码是:

    const request = context.switchToHttp().getRequest();
    const user = request.user;

    if (!user) {
        return false;
    }
Run Code Online (Sandbox Code Playgroud)

在上面剪断的用户总是假的.有没有人在Nest中编写了一个基于角色/权限的保护,成功访问了当前用户的范围?所有代码都被触发,所有内容都显示正确.

-Kevin

javascript nestjs

7
推荐指数
3
解决办法
2117
查看次数

IntelliJ IDEA - 导航到测试主题

我在使用 IntelliJ IDEA 时尝试应用 TDD 原则,但遇到了问题,我不知道是否有我不知道的功能或插件可以帮助我。

我刚刚发现您可以使用CTRL+ SHIFT+轻松导航到编辑器中与当前类相对应的测试类T。如果测试类不存在,它会要求您创建它。

在相反的情况下,当我创建一个没有相应测试主题的测试类并且我按上一个快捷方式时,它只是告诉我No test subjects found

未找到测试对象截图

有没有办法在测试主题类不存在时快速创建它?

tdd junit intellij-idea

6
推荐指数
1
解决办法
7421
查看次数

有没有更好的方法在uwp中提供条件样式?

我试图在style.setter中使用转换器给出条件样式,如下所示,

    <Style TargetType="DataGrid">
        <Setter Property="Background" Value="{Binding Converter={StaticResource cc}}" />
    </Style>
Run Code Online (Sandbox Code Playgroud)

并且知道在UWP中使用转换器没有提供支持.所以请任何人建议我使用style.setter中的转换器在UWP中提供条件样式的更好方法

xaml win-universal-app

6
推荐指数
1
解决办法
1358
查看次数

从 android 中的 Json 字符串中删除反斜杠

我需要一些帮助来从 Json 字符串中删除反斜杠。

这是我从服务器端获得的响应。

"response":"{\"time_zone\":\"\",\"session_token\":\"abcdefgHijklomopqrstuvwxyz\",\"user_login\":\"abc\",\"user_profile_img\":\"http://jhjhjhj.org/system/photos/62/medium/images.jpg?1462446436\",\"success\":\"0\",\"org_admin\":\"\",\"user_id\":\"62\",\"user_org_id\":\"101\",\"phone_mobile\":\"510-427-9639\",\"user_email\":\"abc@pdmoffice.com\"}"}
Run Code Online (Sandbox Code Playgroud)

我为从这个字符串中删除反斜杠所做的

result.replaceAll("\\","");

比之后它会给我这个不是 Json 格式的字符串。

{"response":"{"time_zone":"","session_token":"nskfndkjfsfsdffjsdfd","user_login":"newoff2","user_profile_img":"http://absdds.org/system/photos/62/medium/images.jpg?1462446436","success":"0","org_admin":"","user_id":"62","user_org_id":"101","phone_mobile":"510-427-9639","user_email":"hjhjh@pdmoffice.com"}"}
Run Code Online (Sandbox Code Playgroud)

它给我解释

    org.json.JSONException: Unterminated object at character 17 of 

{"response":"{"time_zone":"","session_token":"kjshhdscncnxzcxclx","user_login":"newoff2","user_profile_img":"http://abcd.org/system/photos/62/medium/images.jpg?1462446436","success":"0","org_admin":"","user_id":"62","user_org_id":"101","phone_mobile":"510-427-9898","user_email":"sdgas@pdmoffice.com"}"}
Run Code Online (Sandbox Code Playgroud)

如何使用正确的 Json 格式删除此反斜杠?

提前致谢

java parsing android json backslash

6
推荐指数
1
解决办法
1万
查看次数

Intellij - 如何制作一个可以通过 CLI 或 Web 服务执行 IDE 操作的插件?

我需要一些帮助来开始制作特定的 IntelliJ 插件。

我想制作一个 IntelliJ 插件,这样您就可以从 CLI(或者从 Web 服务,如果更容易的话)启动 IntelliJ 操作。

例如,我已经用 gradle 脚本构建了我的项目......但我也想在 intelliJ 中准备好它。现在我必须通过点击手动完成此操作。

相反,我希望能够从外部触发一些 IntelliJ 命令。在我的示例中,我想从我的 gradle 脚本中触发这些请求:

  • run-intellij-command {project-path} --action refresh-gradle
  • run-intellij-command {project-path} --action build-project
  • run-intellij-command {project-path} --action start-debugging --configurationName={configuration-name}

有人有一个例子说明我如何开始使用这个吗?

真的希望有一个 intellij 插件项目已经做了类似的事情,比如对 cli 命令做出反应或托管一个可以调用的 Web 服务?

谢谢!

还创建了这个https://youtrack.jetbrains.com/issue/IDEA-184885 希望有一天看到这个功能成为现实

intellij-idea command-line-interface intellij-plugin

6
推荐指数
1
解决办法
821
查看次数

Pycharm ** kwargs自动完成

嗨,我正在尝试使用** kwargs使pycharm的自动完成功能。为此,我使用epytext语法编写了一个doc字符串,该字符串可以用声明关键字参数,@keyword p:但是不起作用。

例

有人知道解决方法吗?谢谢。

PS我在PyCharm设置中更改了文档字符串格式。

python pycharm python-3.x

6
推荐指数
1
解决办法
1084
查看次数