小编MC *_*ror的帖子

PHP中的方括号是什么意思?

我是 PHP 新手,并阅读了一个教程,其中我不明白代码中的某些内容:

$names = [];在 PHP 脚本中的when是什么意思?

php

3
推荐指数
1
解决办法
2484
查看次数

在比较Java中的String时,是否需要检查null和""?

假设我必须比较两个Strings:

public String checkComaprision(String str) {
    if (!("Hello".equals(str))) {
        System.out.println("String didn't match to hello");
    }

    if ("".equals(str) || null == str || (!str.equals("Hello"))) {
        System.out.println("String didn't match to hello");
    }
}
Run Code Online (Sandbox Code Playgroud)

这里我使用了两种字符串比较内部字符串的方法.在实际比较之前,我已经在许多地方阅读过比较字符串""和字符串null.但我认为第一种情况会正常,如果是这样,那我为什么要检查null并留空?

有没有第一次比较失败的情况?哪种方法更好?

java string

3
推荐指数
1
解决办法
843
查看次数

Java内存模型中的部分构造的对象

在Internet上某处的文章中遇到了以下代码:

public class MyInt {

    private int x;

    public MyInt(int y) {
        this.x = y;
    }

    public int getValue() {
        return this.x;
    }
}
Run Code Online (Sandbox Code Playgroud)

文章指出

编译器(JIT,CPU等)不对构造器进行特殊处理,因此允许对构造器中的指令和构造器之后的指令进行重新排序。

另外,关于Java内存模型的这篇JSR-133文章指出:

保证只有在对象完全初始化之后才能看到对对象的引用的线程才能确保看到该对象的最终字段的正确初始化值。

上面提到的MyInt实例似乎是不可变的(除了未标记该类的情况final)并且是线程安全的,但文章指出并非如此。他们声明不能保证x读取时始终具有正确的值。

但是我认为

在创建对象时,只有创建对象的线程才可以访问它

Java教程都显得很支持。

我的问题是:这是否意味着在当前的JMM中,由于指令重新排序,线程可以访问部分构造的对象?如果是的话,怎么办?这是否意味着Java教程中的陈述是不正确的?

java concurrency final java-memory-model

3
推荐指数
1
解决办法
302
查看次数

EXIT 关键字有什么用?

我见过许多 COBOL 程序包含结尾的部分

XX-99.
    EXIT.
Run Code Online (Sandbox Code Playgroud)

该段落多次用于退出该部分,例如使用GO TO XX-99. 我读过这EXIT是一个无操作,因为它没有做任何事情。但同样适用于CONTINUE. 可以很容易地替换EXITCONTINUE. 或者,可以替换GO TO XX-99EXIT SECTION.

是否有任何令人信服的理由使用EXIT而不是CONTINUE?为什么要EXIT介绍?在EXIT之前介绍过CONTINUE了?


注意:我说的不是EXIT与另一个保留字(如EXIT PROGRAM或 )结合使用EXIT PERFORM

cobol

3
推荐指数
1
解决办法
80
查看次数

如何在netbeans 6.5中删除buttonGroup

  1. 我是Netbeans的新手,我和Matisse GUI Editor一起玩,想删除一个buttonGroup没有参考的.我尝试了重构/安全删除操作,但没办法这样做!那太糟糕了.有诀窍还是我必须重新启动一切?

  2. 顺便说一句,我觉得如此疯狂,不能编辑生成的灰色源代码必须有一个技巧或什么?那么Java硬核GUI开发人员如何处理这个问题呢?

谢谢你的帮助!

SR

java user-interface netbeans matisse

2
推荐指数
1
解决办法
5465
查看次数

Java中的字符串匹配和替换

我有一个像这样的字符串:

String a = "Barbara Liskov (born Barbara Jane Huberman on November 7, 1939"
+" in California) is a computer scientist.[2] She is currently the Ford"
+" Professor of Engineering in the MIT School of Engineering's electrical"
+" engineering and computer science department and an institute professor"
+" at the Massachusetts Institute of Technology.[3]";
Run Code Online (Sandbox Code Playgroud)

我想,以取代所有这些元素:[1],[2],[3],等等,用一个空格.

我尝试过:

if (a.matches("([){1}\\d(]){1}")) {
    a = a.replace("");
}
Run Code Online (Sandbox Code Playgroud)

但它不起作用!

java string match string-matching

2
推荐指数
1
解决办法
142
查看次数

在同一个throws子句中声明父项和子项异常有用吗?

我知道以下代码确实有意义:

try { ... }
catch (FileNotFoundException exc) { ... }
catch (IOException exc) { ... }
Run Code Online (Sandbox Code Playgroud)

但是,在throws子句中声明那些父项和子项异常有意义吗?

假设我有以下代码:

public void doSomething() throws FileNotFoundException, IOException { ... }
Run Code Online (Sandbox Code Playgroud)

众所周知,这FileNotFoundException是的子类IOException。现在以任何方式(可读性,性能等)有意义地声明它,而恰恰与此相反:

public void doSomething() throws IOException { ... }
Run Code Online (Sandbox Code Playgroud)

java exception throws

2
推荐指数
1
解决办法
2085
查看次数

多重继承,'需要'扩展两个类

假设我们在\Base\Form\命名空间中有两个类:

class Field {
    protected $name;
    protected $value;
}

class DropdownField extends Field {
    protected $options = [];
    // with functions like setOptions(), addOption(), removeOption() etc.
}
Run Code Online (Sandbox Code Playgroud)

现在,在另一个命名空间中,存在一个扩展的类Field,它具有一个附加'layout_position'属性:

namespace Integrations;
class IntegrationsField extends \Base\Form\Field {
    const LAYOUT_POSITION_LEFT  = 'left';
    const LAYOUT_POSITION_RIGHT = 'right';
    protected $layoutPosition = self::LAYOUT_POSITION_LEFT;
}
Run Code Online (Sandbox Code Playgroud)

现在,您可能会看到这一个即将到来,但如果IntegrationsField这也可以是下拉列表:

namespace Integrations;
class IntegrationsDropdownField extends \Base\Form\DropdownField {}
Run Code Online (Sandbox Code Playgroud)

当然,这个也应该有$layoutPosition,应该继承IntegrationsField,但由于我们不能扩展两个类,这里​​最好的解决方案是什么?

php

2
推荐指数
1
解决办法
3365
查看次数

允许用户在Java中搜索和删除ArrayList中的对象

我有一份作业,我已经到了一个我不知道如何继续的地步.

我有一些问题,但我现在关注的是如何让用户删除我的ArrayList中的对象.

这就是我的代码.这是我的主要内容:

import java.util.Scanner;
import java.util.ArrayList;


public class Kennel {
    Scanner scan = new Scanner(System.in);
    ArrayList<Dog> dogList = new ArrayList<Dog>();

public static void main(String[] args) {
    Kennel kenneln = new Kennel();
    kenneln.whenStart();
}

public void mainMenu() {
    System.out.println("Välj åtgärd: \n" + "[1] Registrera hund \n" + "[2] 
    Öka 
    ålder \n" + "[3] Lista svanslängd \n" + "[4] Ta bort hund \n" + "[5] 
    Avsluta \n" + "Gör ett val: ");
}

public void menuAlt() {
    System.out.println();
    int menuAlt = …
Run Code Online (Sandbox Code Playgroud)

java class arraylist object

2
推荐指数
1
解决办法
114
查看次数

如何使用Jackson和Spring Boot提供自定义解串器

我有以下三个应用程序:

项目1举行

  • 业务逻辑(Spring Cloud功能)
  • 接口IDemoEntity

项目二

  • AWS特定的处理程序
  • IDemoEntity的一种实现,具有DynamoDB特定的注释
  • 该项目基于Spring Boot

项目3

  • IDemoEntity的一种实现,带有CosmosDB批注
  • Azure特定的处理程序

项目1的类如下所示:

public interface IDemoEntity {
    String getName();
    void setName(String name);
}

@Component
public class StoreFunction implements Consumer<Message<IDemoEntity>> {

    @Override
    public void accept(Message<IDemoEntity> t) {

        System.out.println("Stored entity " + t.getPayload().getName());
        return;
    }
}
Run Code Online (Sandbox Code Playgroud)

对于项目2,IDemoEntity的实现如下所示:

@DynamoDBTable(tableName = "DemoEntity")
public class DynamoDemoEntity implements IDemoEntity {

    private String name;
    @Override
    @DynamoDBHashKey
    public String getName() {

        return name;
    }

    @Override
    public void setName(String name) {

        this.name = name;
    } …
Run Code Online (Sandbox Code Playgroud)

java spring-boot jackson-databind

2
推荐指数
1
解决办法
4729
查看次数