Tag: 类型

ORM支持不可变类

哪个ORM支持不可变类型的域模型? 我想编写类似下面的类(或Scala等价物): class A { private final C c; //not mutable A(B b) { //init c } A doSomething(B b) { // build a new A } } ORM必须使用构造函数初始化对象 。 因此可以在构造函数中检查不变量。 默认构造函数和字段/ setter访问intialize是不够的,并使类的实现变得复杂。 应支持使用集合 。 如果更改了集合,则应从用户角度创建副本。 (渲染旧的集合状态陈旧。但用户代码仍然可以工作(或至少读取)。)就像持久数据结构一样 。 关于动机的一些话。 假设您有一个FP风格的域对象模型。 现在,您希望将其保留到数据库中。 你是谁做的? 你想在纯粹的function风格中尽可能多地做,直到邪恶的一面效果进入。如果你的域对象模型不是不可变的,你可以例如不在线程之间共享对象。 您必须复制,缓存或使用锁。 因此,除非您的ORM支持不可变类型,否则您在选择解决方案时会受到限制。

将数据插入SQLite数据库,数据类型不匹配

我想使用SQLite将数据插入数据库,但我没有做到。 我按下我创建的按钮进行输入,但数据无法发送到数据库。 我已经阅读了LogCat,它说数据类型不匹配,我不知道它意味着哪种数据类型。 这是我的代码: database.java public class database { public static final String MOVIE_NAME = “mName”; private static final String DATABASE_NAME = “Movie”; private static final String DATABASE_TABLE = “mList”; private static final int DATABASE_VERSION = 1; private Database db; private final Context cont; private SQLiteDatabase moviedatabase; public static class Database extends SQLiteOpenHelper{ public Database(Context […]

使用带有DAO模式的Guice进行dependency injection

对于我正在研究的小型项目,我一直在努力为我与DB的交互实现一些DAO模式,并且已经开始使用Guice(我第一次)为我处理DI。 现在我有这个类层次结构: DAOImpl引用类类型,因此我的数据库客户端(mongo / morphia)可以执行一些初始化工作并实例化BasicDAO提供的BasicDAO。 以下是相关课程的片段: public class DAOImpl implements DAO { private static final Logger LOG = LoggerFactory.getLogger(DAOImpl.class); private static final String ID_KEY = “id”; private final org.mongodb.morphia.dao.DAO morphiaDAO; @Inject public DAOImpl(Datastore ds, Class resourceClass) { morphiaDAO = new BasicDAO(resourceClass, ds); LOG.info(“ensuring mongodb indexes for {}”, resourceClass); morphiaDAO.getDatastore().ensureIndexes(resourceClass); } } public class UserDAO extends […]

为什么我收到错误“方法未定义类型”?

我正在大学学习基础知识,并希望得到Eclipse的以下错误的一些帮助:“方法getCost()未定义类型ShopCLI”& “Exception in thread “main” java.lang.Error: Unresolved compilation problem: The method getCost() is undefined for the type ShopCLI at components.ShopCLI.main(ShopCLI.java:39) 这是我的代码 public class ShopCLI { public static void main(String[] args) { ArrayList ord = new ArrayList(); System.out.println(“Welcome to Sandwich Shop CLI V1!”); System.out.println(“Please Choose and Option by Typing the Appropriate Number from the List”); System.out.println(“1.New […]

关于Java Primitive Types方法的问题

我对Java中的原始类型以及将一种类型转换为另一种类型的方法感到困惑。 如果,比方说,我有一个整数,我想将它转换为字符串,我需要使用Integer或String的静态方法,例如 String.valueOf(some_integer); 但是,如果我想将一个搅拌器转换为一个char数组,我可以使用类似的东西, some_string.toCharArray(); 我的问题是为什么? 为什么我需要为第一个使用静态方法?

为什么List 在编译和执行时吸收not-type元素?

我有这个演示,我不需要一个具有重绘架构的特定解决方案,但只是理解为什么这样做以及我为避免它而遗漏的任何事情。 我想知道为什么: 编译器允许将不是列表类型的元素插入到列表中 当我们尝试获取元素而不是在推送元素时抛出ClassCastexception import Test.*; //Inner classes import java.util.List; import java.util.ArrayList; public class Test { private List list = new ArrayList(); public Test() {} public static void main(String[] args) { Test a = new Test(); a.addElement(new String()); a.addElement(new Integer(0)); // No complain in comp/run-time, I dont understand why CastException is not thrown here String […]

从对象转换为原始类

我正在Object存储Entry类的实例。 Entry newentry = new Entry(j, 0.0); Object test = newentry; 如何将test对象转换回Entry类以访问Entry类方法getValue() ?

带有接口类和类型变量的Java交集类型的限制

今天我尝试用一​​个使用交集类型的generics方法编写一个类,并根据相交的类型对不同的错误消息感到困惑。 假设我们有一个interface和一个class并在通用接口中定义generics方法: class ClassType { } interface InterfaceType { } interface I { public void foo(); public void foo1(); public void foo2(); public void foo3(); public void foo4(); public void foo5(); public void foo6(); public void foo7(); } 编译这会产生所有方法的错误,除了public void foo2(); 。 Main.java:8: error: repeated interface public void foo(); ^ Main.java:10: error: interface expected here […]

java从List 转换为List ,其中B扩展A

这可能吗? 如果没有,为什么这不可能在Java? interface B extends A {} public List getList(); List = getList(); // Type mismatch: cannot convert from List to List 我认为我正在寻找的主题是“协变类型”,就像这里和这里一样 ,但是它很模糊,并没有解决我的问题。

Eclipse for Java中“不可避免的generics类型问题”是什么?

在“ 错误/警告 ”面板中设置Java编译器的首选项时,可以将Eclipse配置为“ 忽略不可避免的generics类型问题 ”。 Java中有哪些“不可避免的”generics类问题? 忽视这些是安全的吗? 它们什么时候出现?