我有一个Class对象.我想确定Class对象表示的类型是否实现了特定的接口.我想知道如何实现这一目标?
我有以下代码.基本上它的作用是获取指定包中所有类的数组.然后我想通过数组并将实现接口的Class对象添加到我的地图中.问题是isInstance()将对象作为参数.我无法实例化一个接口.所以我对此感到很茫然.有任何想法吗?
Class[] classes = ClassUtils.getClasses(handlersPackage);
for(Class clazz : classes)
{
if(clazz.isInstance(/*Some object*/)) //Need something in this if statement
{
retVal.put(clazz.getSimpleName(), clazz);
}
}
Run Code Online (Sandbox Code Playgroud) 我有一个文本文件,包含如下内容:
12,34 EUR
5,67 EUR
...
Run Code Online (Sandbox Code Playgroud)
在'EUR'之前有一个空格,我忽略0,XX EUR.
我试过了:
grep '[1-9][0-9]*,[0-9]\{2\}\sEUR' => didn't match !
grep '[1-9][0-9]*,[0-9]\{2\} EUR' => worked !
grep '[1-9][0-9]*,[0-9]\{2\}\s*EUR' => worked !
grep '[1-9][0-9]*,[0-9]\{2\}\s[E]UR' => worked !
有人可以解释我请,我为什么不能用\s,但\s*和\s[E]匹配?
操作系统:Ubuntu 10.04,grep v2.5
我用一个String字段构建了一个类.然后我创建了两个对象,我必须使用==运算符进行比较.equals().这就是我所做的:
public class MyClass {
String a;
public MyClass(String ab) {
a = ab;
}
public boolean equals(Object object2) {
if(a == object2) {
return true;
}
else return false;
}
public boolean equals2(Object object2) {
if(a.equals(object2)) {
return true;
}
else return false;
}
public static void main(String[] args) {
MyClass object1 = new MyClass("test");
MyClass object2 = new MyClass("test");
object1.equals(object2);
System.out.println(object1.equals(object2));
object1.equals2(object2);
System.out.println(object1.equals2(object2));
}
}
Run Code Online (Sandbox Code Playgroud)
编译后,结果显示两次false.如果两个对象具有相同的字段 - "test",为什么它是错误的?
我可以最好地描述如下:
我想要这个(整个表格editmode和每行保存按钮).
<table>
<tr>
<td>Id</td>
<td>Name</td>
<td>Description</td>
<td> </td>
</tr>
<tr>
<td><input type="hidden" name="id" value="1" /></td>
<td><input type="text" name="name" value="Name" /></td>
<td><input type="text" name="description" value="Description" /></td>
<td><input type="submit" value="Save" /></td>
</tr>
<tr>
<td><input type="hidden" name="id" value="2" /></td>
<td><input type="text" name="name" value="Name2" /></td>
<td><input type="text" name="description" value="Description2" /></td>
<td><input type="submit" value="Save" /></td>
</tr>
<!-- and more rows here ... -->
</table>
Run Code Online (Sandbox Code Playgroud)
我应该把<form>标签放在哪里?
是否有可能在tomcat的url中关闭jsessionid?jsessionid似乎对搜索引擎不太友好.
我有以下示例:
import java.util.EnumSet;
import java.util.Iterator;
public class SizeSet {
public static void main(String[] args) {
EnumSet largeSize = EnumSet.of(Size.XL,Size.XXL,Size.XXXL);
for(Iterator it = largeSize.iterator();it.hasNext();){
Size size = (Size)it.next();
System.out.println(size);
}
}
}
enum Size {
S, M, L, XL, XXL, XXXL;
}
Run Code Online (Sandbox Code Playgroud)
在这段代码中,我可以理解Enum创建了一个Enum类型的大小.
我的问题是:是largeSizeEnumSet类型的对象吗?它到底意味着什么?我真的想更好地理解它.
给出以下函数调用C:
fooFunc( barFunc(), bazFunc() );
Run Code Online (Sandbox Code Playgroud)
执行的顺序barFunc和BazFunc未指定,因此barFunc()可以在in 之前bazFunc()或bazFunc()之前调用.barFunc()C
并Java指定函数参数表达式执行顺序或喜欢的C是不确定?
我最近了解到可以在JPQL语句中创建新对象,如下所示:
select new Family(mother, mate, offspr)
from DomesticCat as mother
join mother.mate as mate
left join mother.kittens as offspr
Run Code Online (Sandbox Code Playgroud)
这是要避免还是要拥抱?根据良好做法,何时使用此功能是合理的?
在我的项目中,我需要知道zlib标题是什么样的.我听说它很简单,但我找不到任何zlib标头的描述.
例如,它是否包含幻数?
我想只选择特定的列(例如SELECT a FROM b).我有一个通用的DAO,我想出的是:
public List<T> getAll(boolean idAndVersionOnly) {
CriteriaBuilder builder = manager.getCriteriaBuilder();
CriteriaQuery<T> criteria = builder.createQuery(entityClazz);
Root<T> root = criteria.from(entityClazz);
if (idAndVersionOnly) {
criteria.select(root.get("ID").get("VERSION")); // HERE IS ERROR
} else {
criteria.select(root);
}
return manager.createQuery(criteria).getResultList();
}
Run Code Online (Sandbox Code Playgroud)
错误是:
The method select(Selection<? extends T>) in the type CriteriaQuery<T> is not applicable for the arguments (Path<Object>).我该怎么改变?我想得到一个T只有ID和VERSION字段的类型对象,而其他所有的都是null.
类型Textends AbstractEntity包含这两个字段.
entityClazz是T.class.