Tag: object

null == object和object之间的区别== null

嗨,我想知道上述比较之间的差异? 当我检查object.getItems() == null时,我得到空指针exception。 但是,如果我将其更改为null == object.getItems() ,它可以正常工作。 我确实调查了这个null!= object和object之间的区别!= null但是我没有得到满意的答案。

如何使用Java编写的程序可用于其他人?

所以我写了一个有趣的小程序,我想把它展示给我的一些朋友。 我的朋友,不是程序员,如果我发送包含必要类和文件的文件夹,他不知道该怎么办。 我希望能够通过电子邮件向他们发送信息(或将其放在CD / thumbdrive上),然后他们可以双击并让它运行程序。 我完全不知道如何实现这一目标。 我正在上课,我们使用Linux计算机(当我不在课堂时使用mac)我们必须javac .java文件然后java“文件名”才能运行。 我在Mac和PC上有朋友,我希望他们只需点击该程序就可以了…. 如果它有所不同,则使用对象绘制库编写程序。

Javagenerics,对象和通配符的差异和说明

我希望理解这个概念: T对象 – 通用,将被删除为实际类型。 ? 对象 – 会被抹去什么? Object对象; T之间有什么区别? 和Object ? 我很容易理解#1,但是怎么样: Object var; ? var; 两者有什么区别? 我看过我不能用? 明确地,像T或任何其他变量,那? 与对象有关,而与类型无关。 但实际原因是什么? 为什么我不能只编写一个对象List ( List )而不是一个通配符List ( List )? 因为我不知道两种情况下的对象类型。 另外,我想知道什么是擦除? ?

在GenericObjectPool中创建对象

我正在通过将Cipher放入池中来研究GenericObjectPool ,以便可以重用它。 GenericObjectPool pool; CipherFactory factory = new CipherFactory(); this.pool = new GenericObjectPool(factory); pool.setMaxTotal(10); pool.setBlockWhenExhausted(true); pool.setMaxWaitMillis(30 * 1000); CipherFactory public class CipherFactory extends BasePooledObjectFactory { private boolean running = false; @Override public Cipher create() throws Exception { return Cipher.getInstance(“DESede/CBC/NoPadding”); } @Override public PooledObject wrap(Cipher arg0) { return new DefaultPooledObject(arg0); } @Override public boolean validateObject(PooledObject p) […]

Java – 定义扩展A类并实现接口B的成员

我有一个必须满足两个条件的变量,我想在定义中设置它们 我知道我可以使用单个变量定义任一条件,就像在任何这些示例中一样 private Class variable; //or private A variable; //or private Class variable; //or private B variable; 但有没有办法让变量满足这两个条件? 我希望这样的事情 private Class variable; 但是当我需要调用它或存储它的多个副本时,我找不到任何方法可以在没有类型转换的情况下执行此操作

找出对象列表是否包含具有指定字段值的内容?

我有一个从数据库收到的DTO列表,他们有一个ID。 我想确保我的列表包含具有指定ID的对象。 显然,在这种情况下使用期望字段创建一个对象将无济于事,因为contains()调用Object.equals(),它们将不相等。 我找到了一个类似的解决方案:创建一个接口HasId ,在我的所有DTO中实现它,并inheritanceArrayList,其中contains(Long id)一个contains(Long id)方法的新类。 public interface HasId { void setId(Long id); Long getId(); } public class SearchableList extends ArrayList { public boolean contains(Long id) { for (T o : this) { if (o.getId() == id) return true; } return false; } } 但在这种情况下,我不能将List和ArrayList强制转换为SearchableList ……我会接受它,但我想确保我不是在发明自行车。 编辑(2016年10月): 当然,随着Java 8中lambda的引入,这样做的方法很简单: list.stream().anyMatch(dto -> dto.getId() == id);