小编Sav*_*sis的帖子

Arrays.asList()不能正常工作?

我有一个float [],我想得到一个具有相同元素的列表.我可以做一个又一个添加它们的丑陋的事情,但我想使用Arrays.asList方法.但是有一个问题.这有效:

List<Integer> list = Arrays.asList(1,2,3,4,5);
Run Code Online (Sandbox Code Playgroud)

但事实并非如此.

int[] ints = new int[] {1,2,3,4,5};
List<Integer> list = Arrays.asList(ints);
Run Code Online (Sandbox Code Playgroud)

asList方法接受一个varargs参数,对我来说,扩展是一个数组的"简写".

问题:

  • 为什么第二段代码返回List<int[]>但不返回List<int>.

  • 有没有办法纠正它?

  • 为什么自动装箱不在这里工作; 即int[]Integer[]

java arrays list variadic-functions

54
推荐指数
5
解决办法
3万
查看次数

为什么允许通过反射访问Java私有字段?

考虑这个例子:

import java.lang.reflect.Field;

public class Test {

    public static void main(String[] args) {
        C c = new C();
        try {
            Field f = C.class.getDeclaredField("a");
            f.setAccessible(true);
            Integer i = (Integer)f.get(c);
            System.out.println(i);
        } catch (Exception e) {}
    }
}

class C {
    private Integer a =6;
}
Run Code Online (Sandbox Code Playgroud)

允许您通过反射访问类的私有字段似乎不合逻辑.为什么有这样的功能?允许这种访问不是"危险的"吗?

java reflection private-members

43
推荐指数
4
解决办法
8061
查看次数

在Java中获取包装类类型的简单方法

我有一段代码,我需要在方法中传递一个字段的类.由于我的代码的机制,我只能处理引用对象而不是基元.我想要一种简单的方法来确定一个Field类型是否是原始的,并用适当的包装类交换它.所以在代码中我到目前为止所做的是这样的:

Field f = getTheField(); // Dummy method that returns my Field
Class<?> c = f.getType();
if (c == int.class) {
    c = Integer.class;
}
else if (c == float.class) {
    c = Float.class;
}
// etc
myMethod(c);
Run Code Online (Sandbox Code Playgroud)

这工作正常,除了我需要显式检查所有基本类型并使用适当的包装类交换它们.现在我知道没有那么多原始类型,简单地列出它们就不会有问题,但我想知道是否有更简单,更优雅的方式.

java reflection wrapper

29
推荐指数
6
解决办法
2万
查看次数

SVN分析工具

我一直在网上搜索,找到一些可以远程使用的东西.我尝试了各种基于HTML的工具来分析SVN存储库(用户提交,报告等),但没有一个是用户友好的.

我对桌面客户端(不依赖于我的系统上安装的外部svn.exe)感兴趣.分析存储库并创建报告.

有谁知道这样的节目?

svn code-analysis

28
推荐指数
2
解决办法
2万
查看次数

适用于Google地图的Java API(或类似)

我想知道是否有一个Java库充当Google Maps API的包装器.我感兴趣的是在我的桌面应用程序上显示特定区域(lon,lat)的卫星地图.它不一定是谷歌地图,任何地图服务都可以做到这一点.

我需要的是一个与桌面客户端一起工作的库,没有javascript,GWT等.

有任何想法吗?

java google-maps

25
推荐指数
3
解决办法
6万
查看次数

Quartz Java重新开始工作多次

对于我的应用程序,我创建作业并使用CronTriggers安排它们.每个作业只有一个触发器,作业名称和触发器名称都相同.没有工作共享触发器.

现在当我创建像这样的"0/1****?"的cron触发器时 它指示作业每秒执行一次,它工作得很好.

当我第一次暂停工作时,问题就出现了:

scheduler.pauseJob(jobName, jobGroup);
Run Code Online (Sandbox Code Playgroud)

然后让我们说50秒后恢复工作:

scheduler.resumeJob(jobName, jobGroup);
Run Code Online (Sandbox Code Playgroud)

我看到的是,在这50秒内,作业没有按要求执行.但是,当我恢复工作的那一刻,我同时看到了50份执行工作!

我认为这是由于失火指令的默认设置,但即使在创建时将触发器的失火指示设置为:

trigger.setMisfireInstruction(CronTrigger.MISFIRE_INSTRUCTION_DO_NOTHING);
Run Code Online (Sandbox Code Playgroud)

同样的事情发生了.任何人都可以建议一种解决方法吗?

java scheduling scheduled-tasks quartz-scheduler

22
推荐指数
2
解决办法
2万
查看次数

自动添加svn:needs-lock

嗨,我想知道SVN服务器是否有办法在任何二进制文件而不是文本文件上自动分配svn:needs-lock属性.

我们有一个相当小的开发团队,但是每个人都要记住在新创建的二进制文件上设置这个属性是没有意义的,因为它很容易忘记这样的事情.

svn svn-propset

21
推荐指数
3
解决办法
4万
查看次数

Java中的有序列表映射实现

我想知道是否有一个类实现了Java中的接口MapList接口.

我有一个主要是数据结构Map.我将字符串(ID)映射到Images.但是在我的代码的特定部分,我需要向用户提供所有可用的IDed Images.到目前为止,唯一的方法就是这样写:

for (String id : myMap.keySet()) {
    // get the image like this "myMap.get(id)" 
}
Run Code Online (Sandbox Code Playgroud)

所以有一个实现两者的类会很好Map,List所以我可以简单地写:

for (Image img : myMap) {
  // the image is img
}
Run Code Online (Sandbox Code Playgroud)

有谁知道这样的实现?

编辑:在查看答案(这些都是正确的,投票)后,我现在意识到我还需要对地图进行排序.当我说"排序"时,我的意思是我希望它以特定的顺序获得值,我可以修改它.我知道这不是原来的问题,但我意识到我需要这个.

编辑2:我似乎优柔寡断.我需要的是有序地图,而不是有序地图.对不起,人们感到困惑.

java list map

19
推荐指数
3
解决办法
3万
查看次数

Java中人类可读和可解析的日期格式

我想将Date对象保存为可读字符串(例如22/10/2009 21:13:14),该字符串也可以解析为Date对象.

我尝试了很多东西,我能找到的最好的东西是使用DateFormater进行解析和格式化,但它有一个挫折.格式化日期时,您将丢失秒信息.我试图找到,如果有对其进行格式化并显示秒的选项(更好的将是毫秒级的,因为这是该决议的Date对象可以让你有),但我短了.

有任何想法吗?

java datetime date date-format

19
推荐指数
2
解决办法
2万
查看次数

良好的练习班级计数

我知道这个问题没有正确的答案,我只是在征求你的意见.

我知道用千行代码创建巨大的类文件并不是一个好习惯,因为它很难维护,而且通常意味着你应该检查你的程序逻辑.

在您看来,类似于Java的平均行数(我不知道语言的选择是否与它有关,但以防万一...)

code-size

18
推荐指数
5
解决办法
5210
查看次数