我想通过String.split(k)拆分一个字符串,其中k是一个任意字符串(从intput读取).问题是k可以是任何字符串,因此可以包括正则表达式运算符,例如:"*["
.
在这种情况下,split方法会触发异常,因为正则表达式格式不正确.
我正在寻找的是一种逃避任何给定k的方法,以便可以在split()上安全地传递结果字符串.
有什么想法吗?
我有一个Callable<String>
.我想定期运行它ScheduledExecutorService.scheduleAtFixedRate()
,并获取.call()
我的callable上的调用返回的所有字符串的列表.由于scheduleAtFixedRate
不采取 Callable
(只有Runnable
s)我需要推出一个自定义Runnable
包装我的Callable
东西,沿着这些方向:
final Callable<String> myCallable = ....;
final ConcurrentLinkedQueue<String> results
= new ConcurrentLinkedQueue<String>();
Runnable r = new Runnable() {
@Override public void run() {
try {
results.add(myCallable.call());
} catch (Exception e) {
results.add(null); // Assuming I want to know that an invocation failed
}
}
};
ScheduledExecutorService executor = Executors.newScheduledThreadPool(1);
executor.scheduleAtFixedRate(r, 0, 1, TimeUnit.SECONDS);
Run Code Online (Sandbox Code Playgroud)
当然,我想避免推出我自己的自定义东西(特别是在多线程代码中),所以我想知道有一个JDK类可以进行这种聚合吗?
我有一个菜单项"重命名",F2被设置为加速器.实际上,当菜单显示时,"重命名"旁边有一点"F2"指示.
可悲的是,这不起作用.此加速器不会触发响应.当我将加速器更改为CTRL + F2时 - 它可以工作.
看来我应该使用InpoutMpa/ActionMap.问题是我希望这在应用程序的任何地方都可以工作,所以我试图将它与顶级JFrame相关联.但是,JFrame没有getInputMap()方法.
丢失.
[添加]
ks = KeyStroke.getKeyStroke(KeyEvent.VK_F2, 0);
JMenuItem mi = new JMenuItem("Rename");
mi.setAccelerator(ks);
mi.addActionListener(action);
Run Code Online (Sandbox Code Playgroud) 我想知道一个人可以定义的Lambda函数的数量是否有限制(每个区域或每个帐户)。需要明确的是,我并不是在限制单个lambda函数的实例数,而是在允许的函数定义数上。
查看http://docs.aws.amazon.com/lambda/latest/dg/limits.html,我没有发现任何明确的限制。“每个区域可以上传的所有部署程序包的总大小”上限设置为75 GB,这间接限制了已定义函数的数量(例如,如果平均大小,则跨我所有lambda函数) -部署程序包的-40MB,则每个区域限制为75GB / 40MB = 1875个功能)。
我正在尝试编写一个支持某种着色的JTextPane:当用户输入文本时,我正在运行一些代码,根据某种算法为文本着色.这很好用.
问题是着色操作是在撤消管理器(带有EventType.CHANGE的DefaultDocumentEvent)中注册的.因此,当用户单击撤消时,着色消失.仅在第二个撤消请求时,文本本身才会回滚.
(请注意,着色算法有点慢,因此我无法在插入文本时对其进行着色).
如果我尝试阻止CHANGE事件到达撤消管理器,我会在几次撤消请求后得到异常:这是因为文档内容不符合可撤销编辑对象所期望的.
有任何想法吗?
我正在实现一个基于JTextPane的文本编辑器.目前,当我有一段选定的文本时,按TAB键会删除所选的文本.我想更改此行为,以便TAB将缩进所选文本.
怎么去呢?
我有两个主题.生产者正在生成数据片段(String对象),消费者处理这些字符串.问题是我的应用程序只需要处理最新的数据对象.换句话说,如果生产者设法生成两个字符串"s1"然后"s2",那么我希望消费者只处理"s2"."s1"可以安全地丢弃.
当然,实现实现此行为的类没有问题,但我想使用java.util.concurrent中的标准机制(如果存在这样的机制).请注意,SynchronousQueue不是一个好的解决方案:消费者将在排队"s1"时阻止,并且不会有机会产生"s2".
(简而言之,我正在寻找具有阻塞删除操作和非阻塞设置操作的单元素集合)
有任何想法吗?
我想为标记指定自定义图标.可悲的是,我没有显示我选择的图标.
这是plugin.xml文件的相关部分(项目ID"x"):
<extension
id="xmlProblem"
name="XML Problem"
point="org.eclipse.core.resources.markers">
<super type="org.eclipse.core.resources.problemmarker"/>
<persistent
value="true">
</persistent>
</extension>
<extension
point="org.eclipse.ui.ide.markerImageProviders">
<imageprovider
markertype="x.xmlProblem"
icon="icons/marker.png"
id="xmlProblemImageProvider">
</imageprovider>
</extension>
Run Code Online (Sandbox Code Playgroud)
我也尝试指定一个类(实现IMarkerImageProvider
)而不是一个图标,但getImagePath()
该类的方法不会被调用.
有关如何使自定义标记图标工作的任何想法?
绝望地,你的.
-Itay
更新
VonC的解决方案非常正确,除了您不能指定org.eclipse.core.resources.problemmarker
为标记的超类型.它只有当我用工作org.eclipse.core.resources.textmarker
作为唯一的超类型.
Kotlin的官方"馆藏"页面包含以下内容:
在NOT性能关键代码中的地图创建可以用简单的习语来完成:mapOf(a到b,c到d).
问题:
a /这句话背后的原因是什么(我能想到的最好的解释是"a到b"表达式创建了一个额外的,瞬态的Pair对象,但我不确定).
b /以适合性能关键代码的方式初始化地图的建议最佳做法是什么?
我有一个应用程序上下文的层次结构.父上下文中定义的bean依赖于子中定义的bean.这是它的样子:
public class X {
public static class A {
public B b;
public void setB(B b) { this.b = b; }
}
public static class B { }
public static void main(String[] args) {
ClassPathXmlApplicationContext parent = new ClassPathXmlApplicationContext(
"/a.xml");
go1(parent);
}
public static void go1(ClassPathXmlApplicationContext parent) {
GenericApplicationContext child = new GenericApplicationContext(parent);
child.getBeanFactory().registerSingleton("b", new B());
A a = (A) child.getBean("a");
Assert.assertNotNull(a.b);
}
}
Run Code Online (Sandbox Code Playgroud)
定义"a"bean的xml文件如下所示:
<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://www.springframework.org/schema/beans
http://www.springframework.org/schema/beans/spring-beans-2.5.xsd">
<bean id="a" class="X$A" autowire="byName" lazy-init="true"/>
</beans> …
Run Code Online (Sandbox Code Playgroud)