假设您有以下EJB 3接口/类:
public interface Repository<E>
{
public void delete(E entity);
}
public abstract class AbstractRepository<E> implements Repository<E>
{
public void delete(E entity){
//...
}
}
public interface FooRepository<Foo>
{
//other methods
}
@Local(FooRepository.class)
@Stateless
public class FooRepositoryImpl extends
AbstractRepository<Foo> implements FooRepository
{
@Override
public void delete(Foo entity){
//do something before deleting the entity
super.delete(entity);
}
//other methods
}
Run Code Online (Sandbox Code Playgroud)
然后另一个访问FooRepository
bean的bean:
//...
@EJB
private FooRepository fooRepository;
public void someMethod(Foo foo)
{
fooRepository.delete(foo);
}
//...
Run Code Online (Sandbox Code Playgroud)
但是,当FooRepository
调用bean 的delete方法时,永远不会执行重写方法.相反,只执行定义的delete方法的实现AbstractRepository
. …
在哪种情况下接口可以嵌套类?
以下代码是允许且有效的.
public interface Iface {
void show();
class ifaceClass {
int x;
public ifaceClass() {
System.out.println(x);
}
}
}
Run Code Online (Sandbox Code Playgroud)
我也在努力创建类ifaceClass的对象.
编辑:
我能够制作这样的物体
public class Test implements Iface {
public static void main(String[] args){
ifaceClass ifaceClassObj = new ifaceClass();
}
public void show() {
}
}
Run Code Online (Sandbox Code Playgroud)
我注意到如果Test
没有实现Iface
那么我需要在导入之后,
import com.jls.Iface.ifaceClass;
Run Code Online (Sandbox Code Playgroud)
但它归结为同样的问题,为什么不把它用作另一个类.
这种方法的差异或增值是什么?
我刚刚开始参加分布式系统课程,我的老师在我们课程的网站上说了以下内容:
请不要使用包!如果您的 Eclipse 配置默认使用它们,请在编写代码之前删除它们!
她到底在说什么?我认为 Eclipse 需要为项目源文件创建包以保持组织有序。我该如何删除它们?
public class Bees {
public static void main(String[] args) {
try {
new Bees().go();
} catch (Exception e) {
System.out.println("thrown to main" + e);
}
}
synchronized void go() throws InterruptedException {
Thread t1 = new Thread();
t1.start();
System.out.print("1 ");
t1.wait(5000);
System.out.print("2 ");
}
}
Run Code Online (Sandbox Code Playgroud)
本程序的输出是:
1 thrown to main
Run Code Online (Sandbox Code Playgroud)
我不知道为什么这会thrown to main
来到这里.
有一个List<MyObject>
和它的对象需要创建将添加到具有不同元素的另一个List的对象:List<OtherObject>
.
这就是我的表现,
List<MyObject> myList = returnsList();
List<OtherObj> emptyList = new ArrayList();
for(MyObject obj: myList) {
OtherObj oo = new OtherObj();
oo.setUserName(obj.getName());
oo.setUserAge(obj.getMaxAge());
emptyList.add(oo);
}
Run Code Online (Sandbox Code Playgroud)
我正在寻找一个lamdba
完全相同的表达方式.
.class文件,.jar文件和.java文件之间的功能差异是什么?该文件在eclipse中定义了类结构,何时适合使用每种文件类型?
我正在尝试使用java和imap获取电子邮件的所有附件的文件名。我的代码是:
MimeMessage msg = (MimeMessage) messages[i];
String fileName = msg.getFileName();
System.out.println("The file name of this attachment is " + fileName);
Run Code Online (Sandbox Code Playgroud)
但是即使电子邮件包含附件,它也始终打印为null。。我在SO上看到了不同的代码,但是没有用……但是我不知道附件多于一个怎么办。
PS:我只想获取文件名,而不想下载附件。
鉴于这一行:
String name="Summer,John,Alex,Stu,Mike,will,King,yahoo,Google,jeff";
Run Code Online (Sandbox Code Playgroud)
我想||
在每第4次逗号后用符号替换逗号.
预期产量:
Summer,John,Alex,Stu||Mike,will,King,yahoo||Google,jeff
Run Code Online (Sandbox Code Playgroud)
我已经完成了这个awk
命令
awk -F, '{
for (i=1; i<NF; i++)
printf "%s%s", $i, (i%4?FS:"||");
print $i
}'
Run Code Online (Sandbox Code Playgroud)
我无法将此命令转换为java正则表达式.
if(a && b || c || d || e)
Run Code Online (Sandbox Code Playgroud)
是否检查(a && b)
,如果a和b必须始终为真,那么只允许在里面?要么
((a && b) || a && c || a && d || a && e))
,任何条件都是真的会允许内部吗?
class Clazz{
public enum MyEnum{
Hello, World
}
}
Run Code Online (Sandbox Code Playgroud)
上课时Clazz
,我该怎么办MyEnum.values()
?
用法的一个例子是:
Class unknownClass = getSomeClass();
Run Code Online (Sandbox Code Playgroud)
如何获得MyEnum.values()
的unknownClass
?
java ×10
attachment ×1
class ×1
collections ×1
eclipse ×1
ejb-3.0 ×1
enums ×1
generics ×1
if-statement ×1
imap ×1
inheritance ×1
interface ×1
jar ×1
java-8 ×1
java-ee ×1
lambda ×1
nested-class ×1
reflection ×1
regex ×1
string ×1