Tag:

Java类vs数组内存大小?

我必须在我的Java程序中存储数百万个X / Y双对以供参考。 我想保持尽可能低的内存消耗以及对象引用的数量。 所以经过一番思考后,我决定将这两个点放在一个很小的双数组中可能是一个好主意,它的设置如下: double[] node = new double[2]; node[0] = x; node[1] = y; 我认为使用数组会阻止类与我在类中使用的X和Y变量之间的链接,如下所示: class Node { public double x, y; } 然而,在阅读了类中公共字段的存储方式之后,我突然意识到字段实际上可能不是像指针一样构造结构,也许JVM只是将这些值存储在连续的内存中并且知道如何在没有地址的情况下找到它们使我的点的类表示小于数组。 所以问题是,内存占用面积更小? 为什么? 我对类字段是否使用指针特别感兴趣,因此具有32位开销。

使用XStream从XML文件生成Java类

我有很多xml文件,我想使用XStream来管理它们。 是否可以使用XStream生成与我的xml文件对应的java类?

将字符串转换为类

我试图根据一些用户输入在一个Activity之间移动。 我正在尝试使用: String myClass = “some_user_input.class” Intent myIntent = new Intent(getApplicationContext(), myClass); startActivity(myIntent); ……从一项活动转移到另一项活动。 我可以这样做,我直接在硬代码中引用我的新活动,不要尝试从文本中编译它(即classA.class),但是我想通过传递一些字符串编译来构建我的Intent由用户。 例如,如果用户在edittext中输入B,我想转到classB.class如果用户输入Z,我想转到classZ.class 。 有没有什么方法可以编译我想要使用字符串的类,然后我转换为类? 提前致谢!

Class内的接口

Q1。 我可以在java中的类中有一个接口吗? Q2。 我可以在界面中有一个类吗? 如果是,那么在哪种情况下应该使用这样的类/接口。

为什么要将对象分配给接口?

我曾多次听说过在实例化对象时你应该这样做: “Interface”name = new“Class”(); 例如,对于实现List的类链表: List name = new LinkedList(); LinkedList实现了许多接口,包括queue,deque等。上面的代码和之间有什么区别 LinkedList name = new LinkedList(); 要么 Queue name = new LinkedList(); 为什么必须两次指定类型; 这似乎是多余的,但oracledocs似乎并未提及它。

具有类和嵌套静态接口的Javagenerics

我想在嵌套的静态接口中使用generics类。 我的目标是做这样的事情: public class MyClass{ private MyInterface task; public static interface MyInterface{ void aMethod (T item); } } 但是我得到了错误:无法对非静态类型T进行静态引用。如果我做了一些更改(下面)我可以在接口中使用generics类型,但是我想避免使用这种方法,因为写入它是多余的相同的类2次:一个用于MyClass,一个用于MyInterface。 public class MyClass{ private MyInterface task; public static interface MyInterface{ void aMethod (T item); } } 谢谢。 编辑 :我想这样做: MyClass c = new MyClass (); c.setInterface (new MyClass.MyInterface (){ @Override public void aMethod (String s){ … […]

C ++“对象”类

在Java中,有一个名为“Object”的generics类,其中所有类都是其子类。 我正在尝试创建一个链表库(用于学校项目),我已经设法让它只适用于一种类型,但不是多种类型,所以有什么类似的吗? 编辑:我会发布代码,但我现在没有它。

Java如何检查字符串值是否是给定Class 的类型

好吧,这是一个复杂的问题,我完全迷失了。 假设您有一个字符串和一个generics类。 像这样。 String string; Class clazz; 您将如何检查String是否表示类可以相等的值。 例如,让我们说: String string = “true”; Class clazz = Boolean.class; 我如何检查并看到字符串“true”实际上是一个布尔值? 这是另一个例子。 让我们说: String string = “true”; Class clazz = Integer.class; 我如何检查并看到字符串“true”不是整数?

Java:避免在嵌套类中检查null(深度空检查)

想象一下,我有一个class级家庭。 它包含一个人员列表。 每个(类)Person包含一个(类)地址。 每个(类)地址包含一个(类)PostalCode。 任何“中间”类都可以为null。 那么,有没有一种简单的方法来获取PostalCode而无需在每一步检查null? 即,有没有办法避免以下菊花链代码? 我知道没有“原生”Java解决方案,但希望有人知道库或其他东西。 (已检查Commons&Guava并没有看到任何内容) if(family != null) { if(family.getPeople() != null) { if(family.people.get(0) != null) { if(people.get(0).getAddress() != null) { if(people.get(0).getAddress().getPostalCode() != null) { //FINALLY MADE IT TO DO SOMETHING!!! } } } } } 不,不能改变结构。 它来自我无法控制的服务。 不,我不能使用Groovy,它是方便的“猫王”操作员。 不,我宁愿不等待Java 8:D 我不敢相信我是第一个生病的人,厌倦了写这样的代码,但我找不到解决办法。 想法? 谢谢 – llappall

接口是Java 8中实用程序类的有效替代吗?

在过去十年左右的时间里,我一直在使用下面的模式来实现Java实用程序类。 该类仅包含静态方法和字段,声明为final因此无法扩展,并且具有private构造函数,因此无法实例化。 public final class SomeUtilityClass { public static final String SOME_CONSTANT = “Some constant”; private SomeUtilityClass() {} public static Object someUtilityMethod(Object someParameter) { /* … */ return null; } } 现在,随着Java 8 中接口中静态方法的引入,我最近发现自己使用了一个实用程序接口模式: public interface SomeUtilityInterface { String SOME_CONSTANT = “Some constant”; static Object someUtilityMethod(Object someParameter) { /* … */ return null; } } […]