public static void main(String[] args) {
System.out.println(fun(2,3,4));
}
static int fun(int a,int b,int c)
{
return 1;
}
static int fun(int ... a)
{
return 0;
}
Run Code Online (Sandbox Code Playgroud)
输出: 1
问题: 在上面的例子中,为什么功能乐趣选择第一个功能而不是第二个功能.选择的基础是什么,因为无法确定用户实际想要调用的乐趣?
谷歌的MapMaker设计给我留下了深刻的印象.我想知道这里使用的模式的名称是什么?
(我认为它有点像装饰模式,但我们不必将对象包装在其他对象中以扩展功能,但我无法确切地知道它是什么样的模式.)
MapMaker对象创建: -
ConcurrentMap<Key, Graph> graphs = new MapMaker()
.concurrencyLevel(32)
.softKeys()
.weakValues()
.expiration(30, TimeUnit.MINUTES)
.makeComputingMap(
new Function<Key, Graph>() {
public Graph apply(Key key) {
return createExpensiveGraph(key);
}
});
Run Code Online (Sandbox Code Playgroud) 我有一个场景,其中有几个子类有类似的实现和一些额外的方法,实现与每个子类不同.我假设抽象类对于这种情况是一个不错的选择.但是如果抽象类实现包含所有方法声明的接口会更好.或者我应该坚持使用抽象类.
简而言之,我想知道我应该在层次结构顶部而不是接口上更喜欢抽象类的场景.
如何排序List<Number>?
例:
List<Number> li = new ArrayList<Number>(); //list of numbers
li.add(new Integer(20));
li.add(new Double(12.2));
li.add(new Float(1.2));
Run Code Online (Sandbox Code Playgroud) 我想替换以下声明
ImageIcon("images/calender.gif");
Run Code Online (Sandbox Code Playgroud)
同
ImageIcon(res.getResource("images/calender.gif"));
Run Code Online (Sandbox Code Playgroud)
任何人都可以建议正则表达式在eclipse中执行此操作.而不是"calender.gif"任何文件名都可以来.
如何从外部类访问我?
HashSet<Integer> hs=new HashSet<Integer>(){
int i=30;
};
Run Code Online (Sandbox Code Playgroud)
我可以这样做
int k=new HashSet<Integer>(){
int i=30;
}.i;
Run Code Online (Sandbox Code Playgroud)
但是,如果我得到"我",那么我就无法得到hashset的实例.有没有办法获得两者?问题只是出于好奇.它没有太多实际应用.我只是想知道它是否可以完成.
我有一个使用表模型从数据结构加载的JTable.数据结构的格式是NavigableMap<Float,NavigableMap<Float,Boolean>>.示例数据是:
Table Format:
Range f1,v1 f2,v2 f3,v3 f4,v4
12.1-30.2 30,true 32,false 45,true 50,false
30.2-45.6 30,true 32.4,true 45,true 50.1,true
Run Code Online (Sandbox Code Playgroud)
以上数据格式在DS中表示为
DS Format:
Key Value
12.1 <<30,true>,<32,false>,<45,true>,<50,false>>
30.2 <<30,true>,<32.4,true>,<45,true>,<50.1,true>>
45.6 null
Run Code Online (Sandbox Code Playgroud)
我已经设法使用table-model在Jtable中表示上面给出的数据.一旦数据从DS加载到表我必须允许用户编辑.现在我有问题.我怀疑是否应该保留数据结构与表中的更改同步,或者我应该在用户完成编辑后从表中重新创建DS,然后将其替换为旧的DS.
更多我需要验证数据(例如从上面 - 假设用户想要编辑值30.1.他应该只允许输入12.1和45.6之间的值.因为数据表是字符串的(一旦加载)我是计划使用正则表达式和键监听器,并使用所有用户键按下与正则表达式不匹配的值和不在范围内的值.我不确定这是一个好主意还是含义.我会想得到一些建议.
我已经编程了8年,现在我只是想知道如果有任何实际使用的N维数组,其中N> 3.I只能看到小于或等于3维的数据结构有没有人在任何程序中使用超过3个维度?ND阵列的实际用途是否超过3d?如果有,请发布一些样本.
我们在很多地方都有这个代码,如果一个值高于另一个值,我们就会交换整数.有没有办法重新考虑这个代码,所以它可以重复使用?
int numerator2 = <some random number>;
int denominator2 = <some random number>;
if (numerator2 > denominator2) {
int temp = denominator2;
denominator2 = numerator2;
numerator2 = temp;
}
Run Code Online (Sandbox Code Playgroud) java ×8
arrays ×1
collections ×1
eclipse ×1
guava ×1
interface ×1
jpopupmenu ×1
jtable ×1
list ×1
overloading ×1
regex ×1
sorting ×1
swap ×1
swing ×1
uses ×1