问题列表 - 第43937页

使用泛型是否有解决我的问题的方法?

我正在使用java.util.concurrency框架实现一些代码.我将把一组callables传递给一个将并行执行它们的类.我正试图找出以类型安全的方式获取每个响应的最佳方法.这里有一些代码可以帮助解释我在做什么:

首先我创建我的Callables,这是要并行调用的工作单元.例如,这里第一个工作单元返回a String,第二个工作单元返回Integer:

Callable<String> firstCallable = new Callable<String>(){
   public String call() {...}
};

Callable<Integer> secondCallable = new Callable<Integer>(){
   public Integer call() {...}
};
Run Code Online (Sandbox Code Playgroud)

现在我将它们激活到我的框架中以并行运行它们,并且诀窍是获得适当的响应对象的句柄.这是一个有效的实现:

Map<Callable,Object> responseMap = ParallelSender.send(firstCallable, 
                                                       secondCallable);
Run Code Online (Sandbox Code Playgroud)

Object特定的响应在哪里Callable.因此,你可以这样做:

String firstCallableResponse = (String)responseMap.get(firstCallable);
Integer secondCallableResponse = (Integer)responseMap.get(secondCallable);
Run Code Online (Sandbox Code Playgroud)

所以我的问题是,从地图中获取时是否可以避免投射?这不会编译,但我正在考虑这些方面:

Map<Callable<T>, T> responseMap = ParallelSender.send(...);
String firstCallableResponse = responseMap.get(firstCallable);
Run Code Online (Sandbox Code Playgroud)

这样返回的值基于Callable键的类型参数.我担心的是,如果有人refactors工作单位的返回类型(从说IntegerBigDecimal,然后自投或其他)Object永远不会被自动重构工具被捕获,并可能导致运行时问题.


结论:感谢下面的所有有用的评论和讨论,我采取了一个略有不同的机智(尽管肖恩帕特里克弗洛伊德认为上面的问题是正确的).我最终完全删除了响应映射并Callable用响应填充了对象.以下是相关的代码段:

public abstract class AbstractParallelCallable<V> implements Callable<V> {

   /** The response generated by …
Run Code Online (Sandbox Code Playgroud)

java generics map

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

Ubuntu上的IntelliJ IDEA:索引损坏和重建

我是第一次认真尝试IntelliJ IDEA,并在64位Ubuntu 10.04上安装了版本10.0.1和Sun JDK 1.6.0_21.

每次我启动IDEA时它都会告诉我索引已经损坏并需要重建.知道可能导致这种情况的原因或者我可能会如何诊断问题?

当我在MacBook Pro上的相同版本的IDEA上打开相同的项目时,我没有注意到这个问题.

(我正在使用带有几个插件/模块的Grails应用程序,如果这有任何相关性.)

谢谢.

ubuntu intellij-idea

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

DateFormat:带点的月份缩写

我有一个日期格式模式: MMM yyyy

并希望:如果月份名称很短,则在名称后面打印一个点.但如果月份名称不短,则不添加任何点.

例:

  • 2010年5月应打印:( May 2010无点) - 5月只有3个字母,因此不需要点,因为它不是缩写.
  • 2100年12月应打印:( Dec. 2010带点) - 12月长度超过3个字母,因此需要一个点,因为它是缩写.

这是可能的模式,还是我需要通过"手"实现它?

java formatting

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

如何在R中组合两个不同长度的向量

我定期进行一组测量,但有些测量结果丢失了:

      measurement_date value
1  2011-01-17 13:00:00     5
2  2011-01-17 13:04:00     5
3  2011-01-17 13:08:00     7
4  2011-01-17 13:12:00     8
5  2011-01-17 13:16:00     4
6  2011-01-17 13:24:00     6
7  2011-01-17 13:28:00     5
8  2011-01-17 13:32:00     6
9  2011-01-17 13:36:00     9
10 2011-01-17 13:40:00     8
11 2011-01-17 13:44:00     6
12 2011-01-17 13:48:00     6
13 2011-01-17 13:52:00     4
14 2011-01-17 13:56:00     6
Run Code Online (Sandbox Code Playgroud)

我有一个函数,它将处理值并可以处理缺少的值,但行必须在那里,所以我生成一个每分钟有一行的数组,如下所示:

times <- timeSequence(from=.., length=60, by="min")
Run Code Online (Sandbox Code Playgroud)

现在我每小时都有一行,但我需要合并数据.我试过这样的事情,但不能完全正确:

lapply(times, function(time) {
    n <- as.numeric(time)
    v <- Position(function(candidate) {
        y <- as.numeric(candiated)
        n …
Run Code Online (Sandbox Code Playgroud)

r

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

Python中的Hadoop流式传输作业失败(不成功)

我正在尝试使用Python脚本在Hadoop Streaming上运行Map-Reduce作业,并在python中获得与Hadoop Streaming Job失败错误相同的错误,但这些解决方案对我不起作用.

当我运行"cat sample.txt | ./p1mapper.py | sort | ./p1reducer.py"时,我的脚本运行正常.

但是当我运行以下内容时:

./bin/hadoop jar contrib/streaming/hadoop-0.20.2-streaming.jar \
    -input "p1input/*" \
    -output p1output \
    -mapper "python p1mapper.py" \
    -reducer "python p1reducer.py" \
    -file /Users/Tish/Desktop/HW1/p1mapper.py \
    -file /Users/Tish/Desktop/HW1/p1reducer.py
Run Code Online (Sandbox Code Playgroud)

(注意:即使我删除了"python"或输入-mapper和-reducer的完整路径名,结果也一样)

这是我得到的输出:

packageJobJar: [/Users/Tish/Desktop/HW1/p1mapper.py, /Users/Tish/Desktop/CS246/HW1/p1reducer.py, /Users/Tish/Documents/workspace/hadoop-0.20.2/tmp/hadoop-unjar4363616744311424878/] [] /var/folders/Mk/MkDxFxURFZmLg+gkCGdO9U+++TM/-Tmp-/streamjob3714058030803466665.jar tmpDir=null
11/01/18 03:02:52 INFO mapred.FileInputFormat: Total input paths to process : 1
11/01/18 03:02:52 INFO streaming.StreamJob: getLocalDirs(): [tmp/mapred/local]
11/01/18 03:02:52 INFO streaming.StreamJob: Running job: job_201101180237_0005
11/01/18 03:02:52 INFO streaming.StreamJob: To kill this …
Run Code Online (Sandbox Code Playgroud)

python streaming hadoop mapreduce

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

Android作为SIP到GSM网关

很快我可以使用SIP到GSM网关,因为我需要打电话从德国到捷克共和国的手机.因此,我考虑实施一个.

现在,问题是:

  • 这样的解决方案是否已经存在(价格合理)?
  • 是否可以使用可用的Android API(SDK或NDK)将(语音)流重定向到GSM连接?

我们非常欢迎您的想法,建议和意见.

android gsm gateway sip

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

仅对相邻行进行分组

嗨我有这样一张桌子:

notifies

id,user_id
1,3
2,3
3,4
4,5
5,6
6,3
7,4
8,4
9,3
10,3
Run Code Online (Sandbox Code Playgroud)

我必须创建一个只对相邻行进行分组的查询

所以,这个例子的结果应该是:

user_id
3
4
5
6
3
4
3
Run Code Online (Sandbox Code Playgroud)

我怎样才能做到这一点?谢谢

mysql sql

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

防止背景图像拉伸视图

每当我将背景分配给使用wrap_content布局的视图时,如果背景图像大于视图,则视图会被拉伸,以便它可以保持整个背景.为什么会如此以及如何预防呢?即使图像是9-patch并且标记了可伸展区域,也会出现这种情况 - 为什么图像缩小到视图的大小?

android

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

从Java代码发送ssh命令

任何人都可以显示moe如何从java ssh命令发送(例如ssh root@192.168.0.2"ls")?我需要什么课?

java ssh

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

如何在Python(2.6)中将JSON解码为str而不是unicode?

我有一个JSON配置文件,包含一些变量作为字符串(总是ascii).默认情况下,这些字符串被解码为unicode,但由于我必须将这些变量传递给我的Python C Extensions,我需要它们作为普通的Python字符串.目前我正在使用str(unicode)转换JSON字符串,但是更加优雅且不那么详细的解决方案将非常受欢迎.

有没有办法使用自定义JSONDecoder或对象挂钩将默认转换从字符串更改为unicode ?

python unicode json

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

标签 统计

java ×3

android ×2

python ×2

formatting ×1

gateway ×1

generics ×1

gsm ×1

hadoop ×1

intellij-idea ×1

json ×1

map ×1

mapreduce ×1

mysql ×1

r ×1

sip ×1

sql ×1

ssh ×1

streaming ×1

ubuntu ×1

unicode ×1