被赋予创建钱包类的任务,您可以在其中创建成员并在他们之间转移资金.然后,用户可以选择谁给钱以及谁收到钱.这是一些相关的代码:
Wallet adamsWallet = new Wallet("Adam", 403.50);
Wallet bentsWallet = new Wallet("Bent", 873);
Wallet clarksWallet = new Wallet("Clark", 319.50);
object_name_here.transfer(other_object_name_here, 200);
Run Code Online (Sandbox Code Playgroud)
所以我希望用户例如在扫描仪中输入"adam",然后以某种方式将"sWallet"附加到adam,然后将其用作方法调用的对象名称.
我该怎么做?还是有更好的方法呢?
在 .NET 中,在比较 Type 对象时我可以不用 == 。是否可以使用相同的运算符来比较 Java 中的 Class 对象,还是应该始终使用 equals() 方法?
有人可以告诉我,我的导师提供的代码中的以下行是应该做的吗?
if (data.contains(entry))
Run Code Online (Sandbox Code Playgroud)
完整方法:
public String add(Entry entry) {
if (entry == null)
return "Error: null entry";
if (data.contains(entry))
return "Error: this entry already in the book";
boolean done = data.add(entry);
if (done)
return " entry added";
else
return "entry could not be added";
}
Run Code Online (Sandbox Code Playgroud)
我以为它是在ArrayList中检查具有相同细节的现有条目,但是当我添加一个重复的条目时,它不会进入if语句,所以我认为我认为错了?我在互联网上搜索过,它说这是为了这个目的所以为什么它对我不起作用?
我只想重写代码,以减少类中执行相同操作但可以写入文件或控制台的方法的数量,因此我可以执行以下操作:
PrintFlightSchedule(String aFileName); // prints to a file
PrintFlightSchedule(); // writes to console.
Run Code Online (Sandbox Code Playgroud)
我试图通过定义抽象OutputStream,然后将其实例化为PrintStream或控制台(通过System.out)来创建以下测试方法,以演示我的目标:
public static void testOutputStream(String fileNm, String msg) {
OutputStream os;
if (fileNm.equals("") ) { // No file name provided, write to console
os = System.out;
}
// File name provided, write to this file name
else {
try {
os = new FileOutputStream(fileNm);
}
catch (FileNotFoundException fe) {
System.out.println("File not found " + fe.toString());
}
}
// Use the output stream here - ideally println method? …Run Code Online (Sandbox Code Playgroud) 我刚刚开始模拟我们应用程序的不同层.当我调用最终类静态方法时,我的一个模拟对象正在返回NPE.有没有解决的办法?
例如
when(mockObject.someMethod(FinalClass.staticMethod(someParam)).anotherMethodCall)
.thenReturn("someString");
Run Code Online (Sandbox Code Playgroud) 程序代码:
public class A{
public static final String l;
public void method(String strTestData){
l = strTestData;
}
}
Run Code Online (Sandbox Code Playgroud)
strTestData将包含"public static final java.lang.String DELETE"之类的数据.可能吗?
我是 Java 新手,所以这个问题对某些人来说可能很愚蠢。我将 Eclipse 与摆动窗口构建器一起使用,但我不知道如何使我的 Jframe 工作。
我想要实现的目标很简单。
我希望这个字符串出现在标签或其他东西中(也可能复制到剪贴板或一些)。
我希望有人能帮助我在这个任务中走得更远。
这个Java类线程是安全的还是重置方法也需要同步?如果有,有人可以告诉我原因吗?
public class NamedCounter {
private int count;
public synchronized void increment() { count++; }
public synchronized int getCount() { return count; }
public void reset() { count = 0; }
}
Run Code Online (Sandbox Code Playgroud) 没有任何一个操作ArrayBlockingQueue与其他任何操作并发; 他们总是采取同样的锁.即使对于该size()方法,它也需要锁定.
public int size() {
final ReentrantLock lock = this.lock;
lock.lock();
try {
return count;
} finally {
lock.unlock();
}
}
Run Code Online (Sandbox Code Playgroud)
虽然执行LinkedBlockingQueue你有两个锁:put和take.并且因为size()它使用AtomicInteger所以不需要锁.
所以我的问题是:为什么这个实现在并发包中 - ArrayBlockingQueue真的是并发的?
我对以下引用的最后一点不太清楚:
检索操作(包括get)通常不会阻塞,因此可能与更新操作(包括put和remove)重叠.检索反映了最近完成的更新操作的结果.对于诸如putAll和clear之类的聚合操作,并发检索可能反映仅插入或删除某些条目.
为什么只有一些条目?
java ×10
concurrency ×2
api ×1
arraylist ×1
console ×1
final ×1
jcombobox ×1
jframe ×1
jtextfield ×1
junit ×1
map ×1
mockito ×1
object ×1
reflection ×1
swing ×1
unit-testing ×1