Tag: 类型

如何告诉JPA首选的DataType

如果我使用JPA(EclipseLink)创建表,则String类型会生成varchar2(255)。 我怎么能告诉JPA(通过Annotation)创建一个varchar2(20)属性。 如果我有一个List JPA创建一个BLOB(4000)但我想要一个varchar2(我的序列化对象的字符串很短) 这怎么可能? 我必须手工完成吗?

JVM如何在函数重载的情况下找到要调用的方法(具有最接近匹配的参数)

JVM决定在编译时调用哪个重载方法。 我有一个例子: public class MainClass{ public static void go(Long n) {System.out.println(“takes Long “);} public static void go(Short n) {System.out.println(“takes Short “);} public static void go(int n) {System.out.println(“takes int “);} public static void main(String [] args) { short y = 6; long z = 7; go(y); go(z); go((Short)y); } } 根据我的理解,它应该打印以下内容: takes Short takes Long takes […]

制作通用比较器类

我正在尝试制作一个比较器,可以将任何类型的元素进行比较。 我不确定如何创建课程。 我只是想让它比较同一类型的两个元素(但客户端提供它的任何类型,例如:Integer,String,Double等等),以查看哪一个大于另一个。 public class InsertionComparator implements Comparator { /** * Compares two elements. * * @param f1 The first element you want to compare. * @param f2 The second element you want to compare. * @return -1,0,1 Whether or not one is greater than, less than, * or equal to one another. */ public […]

为什么Java编译器不喜欢原始int作为HashMap中值的类型?

编译器抱怨这段代码: HashMap userName2ind = new HashMap(); for (int i=0; i<=players.length; i++) { userName2ind.put(orderedUserNames[i],i+1); } 它写出“意外类型”并指向int 。 如果我用String替换int而i+1用i+”1″替换,则编译就可以了。 这里有什么问题?

比double更精确的数值数据类型?

Java中是否存在比double精度更精确地存储十进制数的数据类型?

如何在Eclipse Java调试器中将字节数组显示为hex字节或无符号十进制数的数组?

我想在Eclipse(Helios Release,build id:20100617-1415)Java调试器中查看一个字节数组,作为hex字节数组(每个2位数)或无符号十进制数? 那可能吗? 怎么样? 例如,我想显示这个: ……如:0,48,71,22,139,166,…… …或者:0x00,0x30,0x47,0x16,0x8B,0xA6,… (这是一个类似于“ 如何在Eclipse Java调试器中将字节数组显示为char数组? ”的问题。)

用于Java中看起来很奇怪的显式类型参数声明语法

我最近发现了一种奇怪的语法,用于在调用Java方法时显式声明generics类型。 例如: Collections.emptyList(); 返回一个空的List 。 然而,这似乎很愚蠢,因为 emptyList()的实现只是未经检查的类型转换(List) EMPTY_LIST ,这样所有结果都具有相同类型的擦除(并且是相同的对象。)此外,这种类型通常不需要显式类型声明,因为编译器通常可以推断出类型: List empty = Collections.emptyList(); 在做了一些挖掘之后,我发现了另外两次你想要使用这种语法,并且它们都是由于使用了Guava库并且显然试图在一行上放置太多语句 。 装饰集合,例如使用同步包装器,并且编译器无法推断类型。 如果取出类型声明,则以下内容不起作用: cannot convert from Set to Set : Set set = Collections.synchronizedSet(Sets.newHashSet()); 当编译器尝试制作过于具体的类型参数时,获取较少的特定类型参数。 例如,如果没有类型声明,则以下语句也会抱怨: cannot convert from Map to Map : Map toJson = ImmutableMap.of(“foo”, “bar”); 我觉得具有讽刺意味的是,在第一种情况下,推断类型参数过于笼统,在第二种情况下它们过于具体,但我认为这只是Java中generics系统的一个工件。 然而,除了在番石榴团队发明的这些奇怪的用例之外,这种语言结构本身似乎是可以避免的。 此外,我很清楚, 在上面的两个例子中 , 编译器都有一种推断类型参数的方法,开发人员只是选择不这样做。 是否有在Java编程中使用此构造所必需或​​有用的示例,还是仅仅为了使编译器更简单/ JDK开发人员的生活更容易存在?

有没有办法将java数据类型输出到控制台?

我正在尝试调试我inheritance的程序。 这个程序包含字符串,数组列表和集合,类型之间的大量转换,我需要做一些字符串操作( substring等) 当打印到控制台时,数据看起来像字符串(例如,它是一行文本,如Johnson, John或Chicago Region ),但我的代码错误输出各种index out of range错误,这表明我的代码要转换为字符串不工作。 我想试着找出正在进入的数据类型,并让我的方法validation程序是否按预期运行。 有没有办法在Java中找到字段类型? 在一个完美的世界中,我可以在每一步生成控制台输出,它会给我数据值,无论是字符串,数组列表还是集合。 可以这样做吗?

如何在Javagenerics中获取类型变量的类

我见过类似的问题,但他们没有多大帮助。 例如,我有这个通用类: public class ContainerTest { public void doSomething() { //I want here to determinate the Class of the type argument (In this case String) } } 和另一个使用此容器类的类 public class TestCase { private ContainerTest containerTest; public void someMethod() { containerTest.doSomething(); } } 是否有可能在方法doSomething()中确定类型参数的类而没有显式类型变量/字段或ContainerTest类中的任何构造函数 ? 更新:更改ContainerTest类的格式

spring mvc form:选择标签

我有一个Model,它包含一个Country(List)列表和一个包含Country对象的用户对象。 我认为用户可以选择他的国家。 这是我的jsp页面的片段: Select your country 这是我的帐户模型: public class Account { private User user; private List countries; public User getUser() { return user; } public void setUser(User user) { this.user = user; } public List getCountries() { return countries; } public void setCountries(List countries) { this.countries = countries; } } 当jsp加载(GET)表单时:select显示当前用户所在国家/地区的选定项目。 问题是,当我发布表单时,我得到这个例外: Field error in […]