小编Dar*_*usz的帖子

使用Lombok的Eclipse - 搜索getter和setter用法

我正在使用Eclipse和Lombok.getter和setter是正确生成的,但它们在类体中是不可见的(这就是重点,我知道).但是,因此,我无法从类中搜索getter或setter的用法.因此,如果我想检查实际设置字段的特定值的内容和位置,我必须对getter名称执行字符串搜索,这很慢并且可能会产生错误的结果(对于另一个类中的同名字段,例如).

在Eclipse中是否有办法为lombok生成的方法查找字段的getter/setter用法?

java eclipse ide getter-setter lombok

16
推荐指数
1
解决办法
5204
查看次数

确定编译时多包异常类型

我建造了一些我不太懂的东西 - 我不知道它是如何工作的.我已经熟悉了这篇关于多篇解释的文章.

考虑这两个例外和代码:

public class MyException1 extends Exception {
  // constructors, etc
  String getCustomValue();
}

public class MyException2 extends Exception {
  // constructors, etc
  String getCustomValue() { return "foo"; }
}

try {
  //...
} catch (MyException1|MyException2 e) {
  e.getCustomValue(); // won't work, as I expected
}
Run Code Online (Sandbox Code Playgroud)

我将无法调用getCustomValue(),即使方法是相同的,因为在Java中,上面try/catch应该实际上是在转换MyException1/2Exception(这就是我理解文档的方式).

但是,如果我引入这样的界面:

public interface CustomValueGetter {
  String getCustomValue();
}

public class MyException1 extends Exception implements CustomValueGetter /*...*/
public class MyException2 extends Exception …
Run Code Online (Sandbox Code Playgroud)

java exception try-catch java-7 multi-catch

13
推荐指数
1
解决办法
437
查看次数

Java:如何按大小对多个ArrayList进行排序?

我有9个不同ArrayList,我想有一个前5名的清单.

我正在考虑ArrayLists按尺寸对它们进行分类.

有可能吗?如果是这样,我怎么能实现呢?


经过几次尝试后我终于开始工作,只想与大家分享.

最好是获得arraylist的大小并将其添加到大型arraylist

// creates an ArrayList that holds ArrayLists 
List allTheLists = new ArrayList(); 
allTheLists.add(pbaustraliaList.size());
allTheLists.add(pbotherList.size()); 
allTheLists.add(pbunitedStatesList.size()); 
allTheLists.add(pbunitedKingdomList.size()); 
allTheLists.add(pbchinaList.size()); 
allTheLists.add(pbgermanyList.size()); 
allTheLists.add(pbindiaList.size()); 
allTheLists.add(pbjapanList.size()); 
allTheLists.add(pbsingaporeList.size()); 
Comparator comparator = Collections.reverseOrder();
Collections.sort(allTheLists,comparator);

//display elements of ArrayList    
System.out.println("ArrayList elements after sorting in descending order : ");    
for(int i=0; i<allTheLists.size(); i++) {     
    System.out.println(allTheLists.get(i));   
}
Run Code Online (Sandbox Code Playgroud)

java sorting arraylist

12
推荐指数
1
解决办法
1万
查看次数

如何迭代结构数组

在我的应用程序中,我使用结构数组,我需要迭代数组.这样做的正确方法是什么?如何检查是否已到达阵列的末尾?

// structure
struct MyData {
  int count;
  char name[20];
  float average;
}
Run Code Online (Sandbox Code Playgroud)

我试过迭代这样,但我的应用程序崩溃:

struct MyData data[2] = { {3, "name1", 1.0}, {5, "name2", 2.5} };
struct MyData* ptr = data;

while (*ptr != NULL) {
  // print the contents, works ok for 2 elements

  ptr++; // increment the pointer
}
Run Code Online (Sandbox Code Playgroud)

c arrays iteration struct boundary

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

在C++ 11中的一个表达式中双重赋值相同的变量

C++ 11标准(5.17,expr.ass)表明了这一点

在所有情况下,在右和左操作数的值计算之后,以及在赋值表达式的值计算之前,对赋值进行排序.对于不确定序列的函数调用,复合赋值的操作是单个评估

据我了解,作为给定赋值的一部分的所有表达式将在赋值本身之前进行求值.即使我在同一个赋值中修改了两次相同的变量,这条规则也应该有效,我相当肯定,之前是未定义的行为.

请问代码:

int a = 0;
a = (a+=1) = 10;

if ( a == 10 ) {
    printf("this is defined");
} else {
    printf("undefined"); 
}
Run Code Online (Sandbox Code Playgroud)

总是评价到a==10

c++ variable-assignment expression-evaluation operator-precedence c++11

11
推荐指数
2
解决办法
2599
查看次数

如何在 crontab 中快速禁用单个作业

我需要在 linux 下快速临时禁用 crontab 中的特定作业。我怎样才能做到这一点?

linux cron crontab

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

来自随机和随机并发的IntStream

使用相同的Random实例生成流(或并行流)并在其中一个部分中影响该流是否安全?

请考虑以下代码.这同样gen用于生成并行IntStream并且每几个字符生成一个随机空间.它成功运行并完成,没有异常抛出.

但这个代码线程安全吗?它似乎是,因为没有无效(超出范围)的字符值.我认为我应该破坏Random内部数据,因为它的方法没有被标记为synchronized,但显然情况并非如此.为什么?

public class RandomGenTest {

    Random gen = new Random();

    String getRandomText(int len, double spaceProb) {
        return gen.ints(len, 'a', 'z'+1)
                    .map(i-> gen.nextDouble()<spaceProb?' ':i)
                    .collect(StringBuilder::new, StringBuilder::appendCodePoint, StringBuilder::append).toString();
    }

    @Test
    public void test() {
        for (int a=10000; a<10000000; a*=2) {
            String text = getRandomText(a, .2);
            Assert.assertTrue(text.chars().allMatch(c -> (c>='a' && c<='z') || c==' '));
        }
    }

}
Run Code Online (Sandbox Code Playgroud)

java random concurrency java-8 java-stream

11
推荐指数
1
解决办法
2797
查看次数

Windows 7不允许我编辑Common Application Data文件夹中的文件

我想在Windows 7下的常见应用程序数据中存储一些文件并为我的软件编辑它们.

我不知道为什么Windows 7不允许我的软件更改文件,除非我以管理员身份运行它们.

我在哪里可以存储我的文件,因此不需要管理员权限?

c# windows uac

9
推荐指数
1
解决办法
7859
查看次数

将ZipEntry数据写入字符串

我从一个zip文件中检索了一个zip条目.

InputStream input = params[0];
ZipInputStream zis = new ZipInputStream(input);

ZipEntry entry;
try {
    while ((entry = zis.getNextEntry())!= null) {

    }
} catch (IOException e) {
    // TODO Auto-generated catch block
    e.printStackTrace();
}
Run Code Online (Sandbox Code Playgroud)

这工作正常,它ZipEntry没有问题.

我的问题

如何将这些内容按ZipEntries原样xmlcsv文件一起放入String中.

java android

9
推荐指数
2
解决办法
9428
查看次数

在C++中定义operator**

如何定义运算符**,使其可以执行2个数的取幂.例如2 ** 3.应该给出答案为8.

或间接有任何方法我可以用运算符重载而不是#define宏来做到这一点?

c++ operator-overloading operators

9
推荐指数
4
解决办法
2265
查看次数