我有一个Scanner
链接System.in
.现在,在使用之后Scanner
,我应该关闭它,因为它是不好的编码实践,让它打开.但是,如果我关闭Scanner
,我也将关闭System.in
!任何人都可以告诉我如何关闭Scanner
没有关闭System.in
(如果有任何方式).
有没有办法为我创建的类使用自动装箱?例如,我有这个子类Number
.
public class UnsignedInteger extends Number {
int n;
public UnsignedInteger(int n) {
if(n >= 0)
this.n = n;
else
throw new IllegalArgumentException("Only positive integers are supported");
}
}
Run Code Online (Sandbox Code Playgroud)
现在,UnsignedInteger i = new UnsignedInteger(88);
工作得非常好,但有没有办法让这个编译:UnsignedInteger i = 88;
?它不适合我.提前致谢!
当我遇到这个构造函数时,我正在研究关于Fork/Join框架的oracle文档ForkJoinPool
:ForkJoinPool(int parallelism)
.文档说这是并行级别,默认情况下等于可用处理器的数量.谁能告诉我如何使用它来提高程序的速度和效率?
有没有办法设置一个JFrame
?我试过了
frame.getContentPane().getInsets().set(10, 10, 10, 10);
Run Code Online (Sandbox Code Playgroud)
和
frame.getInsets().set(10, 10, 10, 10);
Run Code Online (Sandbox Code Playgroud)
但它们似乎都没有用.
当我写的东西像
double a = 0.0;
double b = 0.0;
double c = a/b;
Run Code Online (Sandbox Code Playgroud)
结果是Double.NaN
,但是当我为整数尝试相同时,它产生一个ArithmeticException
.那么,为什么不存在Integer.NaN
呢?
我有这个代码
public class LimitTest{
public static void main(String[] args){
long l;
double d;
l = 9223372036854775807L;// The largest number a long can hold.
d = l;
System.out.println(l);
System.out.println(d);
System.out.println(l == d);
}
}
Run Code Online (Sandbox Code Playgroud)
现在,它产生的结果有点意外,但同样,我对类型转换不是很有经验.
产量
9223372036854775807
9.223372036854776E18
true
Run Code Online (Sandbox Code Playgroud)
现在,打印的两个数字显然不等于,为什么要l == d
返回true
?
当我注意到@Target
在包中调用的注释时,我正在浏览JDK 7的文档java.lang.annotation
.该类的标题是
@Documented
@Retention(value=RUNTIME)
@Target(value=ANNOTATION_TYPE)
public @interface Target
Run Code Online (Sandbox Code Playgroud)
现在,它@Target
被用作自身的注释.这怎么可能?@Target
在声明之前,它在标题中使用.我用我编写的注释尝试了这个,它也运行良好.谁能解释一下这里发生了什么?
可能重复:
Java - 布尔基元类型 - 大小
我设计了这个程序来计算boolean
Java中的大小.
public class BooleanSizeTest{
/**
* This method attempts to calculate the size of a boolean.
*/
public static void main(String[] args){
System.gc();//Request garbage collection so that any arbitrary objects are removed.
long a1, a2, a3;//The variables to hold the free memory at different times.
Runtime r = Runtime.getRuntime();//Get the runtime.
System.gc();//Request garbage collection so that any arbitrary objects are removed.
a1 = r.freeMemory();//The initial amount of free memory in bytes.
boolean[] …
Run Code Online (Sandbox Code Playgroud) 我正在使用此代码创建一个JList
:
JList list = new JList<String>(new String[] {"Hello", "World"});
Run Code Online (Sandbox Code Playgroud)
该程序也在 Eclipse Juno 上编译并运行,但是当我尝试使用 WindowBuilder 打开它时,出现以下错误:
new JList<String>(new String[] {"Hello", "World"}) is not valid source for component creation, it references not existing constructor.
Run Code Online (Sandbox Code Playgroud)
现在,由于我使用的是 Java 7(JDK 和 JRE),所以这不应该是一个错误。
注意:程序的其余部分是正确的。
有没有办法在JPanel
使用java.awt.Graphics
该类上画一个点?我找不到任何这样的方法.嗯,绘制线条和其他形状有很多种方法(例如.drawLine(int x1, int y1, int x2, int y2)
,但是Graphics
缺少绘制最基本几何对象的实现方法?
java ×10
double ×2
swing ×2
annotations ×1
autoboxing ×1
boolean ×1
eclipse ×1
fork-join ×1
graphics ×1
insets ×1
integer ×1
jframe ×1
jpanel ×1
long-integer ×1
nan ×1