所以java有类型擦除,删除类型参数(在运行时没有泛型类型).有人可以解释为什么保留超类型参数吗?
class StringList extends ArrayList<String> {
public Type getType() {
Type[] typeArguments = ((ParameterizedType) this.getClass()
.getGenericSuperclass()).getActualTypeArguments();
return typeArguments[0];
}
}
Run Code Online (Sandbox Code Playgroud)
这意味着什么:
new ArrayList<String>()// I cannot use reflection to find out the generified type String
Run Code Online (Sandbox Code Playgroud)
但
new StringList()//I can use reflection to see the generic type String
Run Code Online (Sandbox Code Playgroud)
因此类型擦除是为了向后兼容,但为什么保留超类型类型参数呢?元数据是否已更新以支持它?
为什么一个而不是另一个?
我有以下的事情:
<ui:param name="randomVideo" value="#{bean.randomVideo}" />
<a href="#{randomVideo.link}">#{randomVideo.text}</a&></pre>
Run Code Online (Sandbox Code Playgroud)
因为<ui:param>不缓存的变量,Bean.getRandomVideo()被称为两次,最糟糕的是,.text和.link来自不同的视频.我已经尝试<c:set和<f:param.他们都没有设置变量,可能是因为我使用facelets(JSF2).
有任何想法吗?
我必须设置一个"必须与Java应用程序集成"的博客引擎.这些是我的要求,我不是在开玩笑.Java应用程序是一个Web应用程序,提供动态变化的内容.
什么博客和这个应用程序将交换 - 我不知道,因为我的客户不知道.(是的,我知道,我的客户是...,但情况确实如此).
我想我有两个选择:java博客引擎和wordpress.
Wordpress是流行的,稳定的,可定制的......,但在PHP中.Java博客并不流行,但在Java中.
在之前的项目中,我使用的是一个名为dasBlog的.NET博客,它不受欢迎且不易定制.我不想再犯这个错误了.
如果我能够通过JAX-RPC或REST完全控制Wordpress博客(发布帖子,编辑侧栏内容,让wordpress向我询问侧栏的内容,......),如果这很简单,也许我会选择Wordpress .
你怎么看?
我想要一个JPA/Hibernate(最好是JPA)注释,它可以生成一个列的值,它不是主键,也不是从1开始.
从我所看到的,JPA不能用@GeneratedValue和@SequenceGenerator以及@TableGenerator来做到这一点.或者其他任何东西.
我已经看到了一个带有额外桌子的解决方案,我觉得这不是很优雅.
我可以使用Hibernate注释,因为我已经有了hibernate注释.
我想使用@Generated,但我不能让它工作,人们声称它是可能的.
@Generated(GenerationTime.INSERT)
private long invoiceNumber;//invoice number
Run Code Online (Sandbox Code Playgroud)
更新:一个额外的要求,如果事务回滚,我们不能在编号上有差距.任何人?
我正在开始研究java项目.该应用程序没有GUI,也没有使用任何JavaEE技术(我认为这很重要).目前我是唯一活跃的开发者.在我之前编写应用程序的人使用了IDEA,实际上所有项目开发都是在IDEA中完成的.
我是一个长期的Eclipse用户.我已经习惯了,我知道它的大部分特性并且很舒服.Eclipse在没有Web界面的纯JavaSE项目中最强大.目前我正在努力应对IDEA - 不知道快捷方式,不知道如何配置它,等等.IDEA的Mac OS版本并不像Eclipse那样出色.
选择IDEA的人只是说Eclipse感觉不对(当我第一次开始使用Eclipse时,我有同样的印象,然后几个月后就喜欢它了).他们还在一条新线上写下了开口花括号,这真让我烦恼.所以我没有看到任何针对Eclipse的有效参数.
我应该转移到Eclipse还是给IDEA更多时间?