java 值对象

标签 java value-objects

我是 Java 新手,我必须创建一个值对象(也许在 Java 中称为映射对象),但我的代码似乎不起作用,这是值对象:

package ....;

public class User {
    private int id;    
    private int uid;    
    private String name;

    public User()
    {
        // do something here
    }
}

我分配一个新的值对象,如下所示:

public boolean some_function() 
{               
    User u = new User();

    return true; // got a breakpoint here
}

因此,如果我注释掉“User u = new User();”我将转到断点,但如果我像上面那样保持它,它将停止运行。

顺便说一句,我将这两个文件保存在同一个文件夹中,这样 Eclipse 就不会导入该文件,这是正确的还是我应该导入它?

编辑:

过了一段时间,我发现我必须手动导入文件,我以为我尝试过,但显然我没有。

最佳答案

Dennis,如果您发布的代码正是您正在运行的代码,那么这就没有意义了——“User u = new User();”调用将返回一个新的 User 对象,没有任何问题,因为您的构造函数是空的。

为了向自己演示这一点,请将构造函数更改为:

public User() {
  System.out.println("I'm inside the User constructor!");
}

并再次调用您的 some_function() 函数。您应该会看到该行打印到控制台。

鉴于您所报告的内容和所显示的代码,我怀疑包含 some_function() 的类并未“看到” User 类 - 您正在导入其他一些 User 类,而不是该 User 类你创造了。这两个类(User 类和包含 some_function() 的类)是否位于同一个包中?如果不是,包含 some_function() 的类顶部的哪个导入语句正在处理 User 类的导入?

关于java 值对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1783836/

相关文章:

java - 如何获得<? super T> 来自 T

无法在索引 19 处解析 Java 8 日期/时间 : instant,

java - 如何在 cucumber 中编写空字符串和非空字符串的正则表达式

java - 股票代码自动完成 API

java - 术语 "value object"的词源/含义是什么?

php - 什么是 PHP 中值对象的示例?

java - 遍历文件夹时 DirectoryStream 和 File.list() 的性能差异

java - 可以公开不可变对象(immutable对象)的状态吗?

java - 值对象模式和数据传输模式之间的区别

c# - DDD : Can a Value Object have lists inside them?