我需要使用MS批处理文件将程序的输出分配给变量.
所以在GNU Bash shell我会用VAR=$(application arg0 arg1).我在Windows中使用批处理文件需要类似的行为.
有点像set VAR=application arg0 arg1.
linq可以用某种方式来查找数组中值的索引吗?
例如,此循环在数组中定位键索引.
for (int i = 0; i < words.Length; i++)
{
if (words[i].IsKey)
{
keyIndex = i;
}
}
Run Code Online (Sandbox Code Playgroud) 我在内部类中有一个私有方法,它是私有的我想使用SafeVarargs注释.但是,我需要有静态或最终方法.为什么私有方法也必须是最终的?这不是多余的吗?
在查看Java API源代码时,我经常看到方法参数被重新分配给局部变量.这为什么要这样做?
void foo(Object bar) {
Object baz = bar;
//...
}
Run Code Online (Sandbox Code Playgroud)
这是在java.util.HashMap中
public Collection<V> values() {
Collection<V> vs = values;
return (vs != null ? vs : (values = new Values()));
}
Run Code Online (Sandbox Code Playgroud) 如何将ant bootclasspath与-source 1.5 -target 1.5一起设置?
这怎么可能不是1.5 JDK的硬编码路径?我可以将环境变量设置为bootclasspath,类似于如何从ant使用JAVA_HOME吗?
理想情况下,我想做一些事情,例如设置环境变量或将参数传递给ant.
必须有一个更快更好的方法来交换16位字的字节然后这个:
public static void Swap(byte[] data)
{
for (int i = 0; i < data.Length; i += 2)
{
byte b = data[i];
data[i] = data[i + 1];
data[i + 1] = b;
}
}
Run Code Online (Sandbox Code Playgroud)
有没有人有想法?
目前,我正在使用自定义TreeCellRenderer来处理我的JTree的标签和图标更改.当我需要更改几个节点上的文本时,问题就出现了.TreeCellRenderer非常有效,因为它显示了新文本.但是,初始文本的宽度将被缓存并且不会更新.我试图通过覆盖TreeCellRenderer中的getPreferredSize来破解它,但由于我有html字符串,因此无法正常工作.我甚至试过解析标签并获得宽度,但它仍然不完美.我使用过SwingUtilities和FontMetrics.
似乎使用树的后台DefaultTreeModel.nodeChanged(TreeNode)是更改节点的正确方法.但是,我需要一个额外的数据结构来处理访问需要更改的节点.就个人而言,我只想更改需要更改的节点.但是,这将需要另一个数据结构来查找需要更新的所有节点.在这种情况下,支持JLabel大小缓存的最佳方法是什么?
我有一个UNIX本机可执行文件,需要像这样输入参数
prog.exe <foo.txt.
foo.txt有两行:bar baz
我正在使用java.lang.ProcessBuilder来执行此命令.不幸的是,prog.exe只能使用文件中的重定向.有什么方法可以模仿Java中的这种行为吗?
当然,
ProcessBuilder pb = new ProcessBuilder("prog.exe", "bar", "baz");
Run Code Online (Sandbox Code Playgroud)
不起作用.
谢谢!
我有一个使用SpinnerDateModel的JSpinner,它的开头是2010年1月1日00:00:00.000结束日期是2010年1月1日00:12:34.217.我希望我的JSpinner.DateEditor使用格式HH:mm:ss.SSS但旋转器不会使用此格式旋转.只有在将"yyyy"添加到格式时才会旋转.我怎么能绕过这个?
import java.awt.GridLayout;
import java.util.*;
import javax.swing.*;
public class T extends JPanel {
public T() {
super(new GridLayout(2, 2));
init();
}
private void init() {
Calendar start = GregorianCalendar.getInstance();
Calendar end = GregorianCalendar.getInstance();
start.clear();
end.clear();
start.set(Calendar.YEAR, 2010);
end.set(Calendar.YEAR, 2010);
end.add(Calendar.HOUR_OF_DAY, 12);
SpinnerDateModel m1 =
new SpinnerDateModel(start.getTime(), start.getTime(),
end.getTime(), Calendar.MILLISECOND);
SpinnerDateModel m2 =
new SpinnerDateModel(start.getTime(), start.getTime(),
end.getTime(), Calendar.MILLISECOND);
JSpinner workingSpinner = new JSpinner(m1);
workingSpinner.setEditor(
new JSpinner.DateEditor(workingSpinner,
"yyyy HH:mm:ss.SSS"));
JSpinner notWorkingSpinner = new JSpinner(m2);
notWorkingSpinner.setEditor(
new JSpinner.DateEditor(notWorkingSpinner,
"HH:mm:ss.SSS"));
add(new JLabel("Working"));
add(workingSpinner);
add(new …Run Code Online (Sandbox Code Playgroud) 我正在读取一个big-endian的二进制流.BitConverter类自动执行此操作.不幸的是,我需要的浮点转换与BitConverter.ToSingle(byte [])不同,所以我有一个同事的自己的例程.但输入byte []需要是little-endian.有没有人有一种快速的方法来转换byte []数组的字节顺序.当然,我可以交换每个字节,但必须有一个技巧.谢谢.
如果我继承自可序列化的类,但我特别不希望我的类可序列化; 什么是严格防止序列化的最佳方法?
如果在java.io.Serializable中有一个方法,我可能会抛出异常,但Serializable为空.
也许我在这里缺少一些简单的东西,但是如何获得一个方法,其参数是使用反射的接口.
在下面的例子newValue中将被List<String>称为foo.所以我会打电话addModelProperty("Bar", foo);但是这只适用于我,如果我不使用界面,只使用LinkedList<String> foo.如何使用接口newValue并从中获取model具有接口作为参数的方法addBar(List<String> a0)?
这是一个更详细的例子.(基于:此示例)
public class AbstractController {
public setModel(AbstractModel model) {
this.model = model;
}
protected void addModelProperty(String propertyName, Object newValue) {
try {
Method method = getMethod(model.getClass(), "add" + propertyName, newValue);
method.invoke(model, newValue);
} catch (NoSuchMethodException e) {
} catch (InvocationTargetException e) {
} catch (Exception e) {}
}
}
public class AbstractModel {
protected PropertyChangeSupport propertyChangeSupport;
protected …Run Code Online (Sandbox Code Playgroud) 使用linq?和XML是否有办法将此IEnumerable转换为值参数的字符串数组?
List<string> idList = new List<string>();
foreach (XElement idElement in word.Elements("id"))
{
idList.Add(idElement.Value);
}
string[] ids = idList.ToArray();
Run Code Online (Sandbox Code Playgroud)
它会与此类似
但我需要XElement.Value参数
IEnumerable query = ...;
MyEntityType[] array = query.Cast<MyEntityType>().ToArray();
Run Code Online (Sandbox Code Playgroud) java ×8
c# ×4
endianness ×2
java-7 ×2
linq ×2
swing ×2
ant ×1
arrays ×1
batch-file ×1
cmd ×1
javac ×1
jspinner ×1
jtree ×1
reflection ×1