我用ArrayUtils.add(double[], double)了一些频率.显然我有一个盲点,为什么它不在这里工作.有人可以帮忙吗?
double[] reliableNeighborValues = new double[1];
for (int j = 0; j < 8; j++) {
if (pixelInfo[j] > 0) {
System.out.println("pre add array length "+reliableNeighborValues.length);
for (int k = 0; k < reliableNeighborValues.length; k++) {
System.out.println("-- "+reliableNeighborValues[k]);
}
ArrayUtils.add(reliableNeighborValues, pixelInfo[j]);
System.out.println("reliable neighbor "+j+" "+pixelInfo[j]+" array length "+reliableNeighborValues.length);
for (int k = 0; k < reliableNeighborValues.length; k++) {
System.out.println("-- "+reliableNeighborValues[k]);
}
}
}
Run Code Online (Sandbox Code Playgroud)
输出:
pre add array length 1
-- 0.0
reliable neighbor 0 5.3364882 array length …Run Code Online (Sandbox Code Playgroud) 有没有其他方法可以使用以下方法?我正在使用Apache commons.lang jar StringUtils.join但是我确实遇到了向Weblogic服务器加载类的问题,因此使用StringUtils.join并不好.
所以相反,我正在寻找实现以下目标的替代方法
String pattern = "\\b(" + StringUtils.join(tokens, "|")+"\\b";
Run Code Online (Sandbox Code Playgroud) 我一直在尝试将双数组转换为数字用空格分隔的字符串.
public class StringTest {
public static void main(String[] args) {
double[] g = {1.2,1.4,1.4} ;
String d = StringUtils.join(g, " ");
System.out.println(d);
}
}
Run Code Online (Sandbox Code Playgroud)
Commons Lang javadoc告诉我有可能这样做,代码也可以运行,但我只[D@54a50a00打印出来.这里缺少什么?
我正在使用 Apache Common Lang ReflectionToStringBuilder 递归地为我的实体提供一个 toString 。
我有一个自定义的 ToStringStyle,我用它来稍微修改输出,并且我省略了一些我不想出现的变量。
我的问题是对于特定的对象类型,您可以指定要打印的特定属性吗?
例如:我有两个 Person 对象,每个对象都有一个 ID 值,还有一个名为 BestFriend 的关系对象。
public class Person {
int id;
String name;
int age;
Person bestfiend;
public void setBestFriend(Person bestFriend){
this.bestfiend = bestFriend;
}
}
Run Code Online (Sandbox Code Playgroud)
目前发生的情况是,当我将两个 Person 对象链接为 Bestfriend 时,ReflectionToStringBuilder 正在为 Bestfriend 的值写入整个 Person 对象。
Person[
id = 0001
name = John
age = 25
bestFriend=Person@25eb3d2[
id = 0002
name = Mary
age = 29
]
]
Run Code Online (Sandbox Code Playgroud)
您能否指定对于所有关系对象,给我 ID 的值而不是整个 Person 对象?
Person[
id = 0001 …Run Code Online (Sandbox Code Playgroud) 我正在尝试使用Apache Java库SystemUtils来确定正在使用的操作系统.这是一个链接:
https://commons.apache.org/proper/commons-lang/download_lang.cgi
我正在使用netbeans来创建我的应用程序.我无法弄清楚如何使用该库.我试过导入它但似乎没有安装.我试过找到下载并添加,但我找不到.
有人可以给我一些关于如何使用netbeans使这个库工作的建议吗?
干杯
EEF
在下面的代码中,为什么包含的两行会System.out.println(person); 产生不同的输出?第二行间接调用了Job.toString产生字符串的方法"Manager",但第一行神秘地没有产生Job@28f67ac7。在person.put("a", "b");我看来,这两者之间的界限应该没有任何区别。
代码:
import java.util.*;
import org.apache.commons.lang3.builder.*;
class Job extends HashMap<String, String> {
@Override public String toString() {
return "Manager";
}
}
class Person extends HashMap<String, String> {
Job job;
Person() {
this.job = new Job();
}
@Override public String toString() {
return ToStringBuilder.reflectionToString(this);
}
}
class Test {
public static void main(String[] args) {
Person person = new Person();
System.out.println(person);
person.put("a", "b");
System.out.println(person);
}
}
Run Code Online (Sandbox Code Playgroud)
安慰:
Person@2b80d80f[job=Job@28f67ac7,threshold=0,loadFactor=0.75]
Person@2b80d80f[job=Manager,threshold=12,loadFactor=0.75]
Run Code Online (Sandbox Code Playgroud) java tostring apache-commons apache-commons-lang apache-commons-lang3