问题列表 - 第18407页

Java泛型函数:如何返回泛型类型

这是一个Java通用模式:

public <T> T getResultData(Class<T> resultClass, other_args) { 
   ...
   return resultClass.cast(T-thing);
}
Run Code Online (Sandbox Code Playgroud)

典型的通话看起来像:

   DoubleBuffer buffer;
   buffer = thing.getResultData(DoubleBuffer.class, args);
Run Code Online (Sandbox Code Playgroud)

当期望的返回类型本身是通用的时候,我从来没有弄清楚如何干净地使用这个模式.要"具体",如果这样的函数想要返回Map<String,String>怎么办?因为你不能获得泛型的类对象,当然,唯一的选择是传递Map.class,然后你需要一个强制转换和一个@SuppressWarning毕竟.

一个人最终会打电话:

Map<String, String> returnedMap;
returnedMap = thing.getResultData(Map.class, some_other_args);
Run Code Online (Sandbox Code Playgroud)

现在回到需要强制转换并抑制警告.

我想人们可以从java.lang.reflect.Type家里取出一些东西而不是它Class,但那些并不是特别容易编造的.看起来像:

class Dummy {
 Map<String, String> field;
}

...

Type typeObject = Dummy.class.getField("field").getGenericType();
Run Code Online (Sandbox Code Playgroud)

鉴于此,被调用函数可以提取基类型并将其用于转换或newInstance,但虚拟字段业务肯定看起来很难看.

请注意,这样的函数并不总是调用newInstance.显然,如果他们这样做,他们就不需要打电话了resultClass.cast.

java generics

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

是否可以向JavaScript函数发送可变数量的参数?

是否可以从数组中向JavaScript函数发送可变数量的参数?

var arr = ['a','b','c']

var func = function()
{
    // debug 
    alert(arguments.length);
    //
    for(arg in arguments)
        alert(arg);
}

func('a','b','c','d'); // prints 4 which is what I want, then 'a','b','c','d'
func(arr); // prints 1, then 'Array'
Run Code Online (Sandbox Code Playgroud)

我最近写了很多Python,这是一个很好的模式,能够接受varargs并发送它们.例如

def func(*args):
   print len(args)
   for i in args:
       print i

func('a','b','c','d'); // prints 4 which is what I want, then 'a','b','c','d'
func(*arr) // prints 4 which is what I want, then 'a','b','c','d'
Run Code Online (Sandbox Code Playgroud)

在JavaScript中是否可以发送一个数组作为参数数组?

javascript variadic-functions

159
推荐指数
6
解决办法
10万
查看次数

Qt Webkit - 自动完成输入

嗨,有人可以帮我找到文档(我不确定要查找什么)能够使用Qt Webkit更改WebPage上的输入文本框内的文本 - 我想基本上创建一个功能,以便人们可以记住他们在网页上的输入并保存为预设..单击预设后 - 自动填写.

qt webkit

2
推荐指数
1
解决办法
2551
查看次数

如何从文本输入向URL添加锚标记

我希望能够在注释字段中获取用户输入的文本并检查URL类型表达式,如果存在,则在显示注释时添加锚标记(到url).

我在服务器端使用PHP,在客户端使用Javascript(使用jQuery),所以我应该等到它显示之前检查URL吗?或者在将锚标记插入数据库之前添加它?

所以

<textarea id="comment">check out blahblah.com or www.thisthing.co.uk or http://checkthis.us/</textarea>  
Run Code Online (Sandbox Code Playgroud)

<div id="commentDisplay">check out <a href="blahblah.com">blahblah.com</a> or <a href="www.thisthing.co.uk">www.thisthing.co.uk</a> or <a href="http://checkthis.us/">http://checkthis.us/</a></div>
Run Code Online (Sandbox Code Playgroud)

html javascript php jquery

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

3.0中的Dynamic(Default.png)启动画面[iPhone SDK]

我知道可以通过创建符号链接来创建动态可变的Default.png.但这在iPhone SDK 3.0中是不可能的(仅在2.0中).我怎么能在3.0中做到这一点,或者这是不可能的?蒂姆

这适用于iPhone OS 2.0 http://collison.ie/blog/2008/11/dynamic-defaultpng-files-on-the-iphone,但不再适用于iPhone OS 3.0.默认屏幕始终为黑色.

我可以更改documents-folder中的默认屏幕,symbolic-link会链接到该文件.我通过浏览到模拟器中的app-folder测试了它.我在documents-directory中看到了正确的文件,我看到符号链接指向该(右)文件.

iphone symlink iphone-sdk-3.0

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

C++中的Tickcount和毫秒

如何从TickCounts转换为毫秒?

这是我用过的:

long int before = GetTickCount();
long int after = GetTickCount();
Run Code Online (Sandbox Code Playgroud)

我希望它在几秒钟内有所不同.

c++ winapi

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

android:如何使用触摸和拖动创建不同的"屏幕"并在它们之间导航?

我可以在主屏幕上创建相同类型的导航吗?也就是说,我想要使用触摸和拖动之间可以导航的不同屏幕?我还没有看到任何关于它的事情,所以是时候问:)

哦,我在谈论Android的应用程序:)

android

4
推荐指数
1
解决办法
4008
查看次数

tSQL CASE来控制执行

我理解如何使用case语句返回不同的值:

SELECT CASE Color
         WHEN 'Blue' THEN 'Water'
         WHEN 'Black' THEN 'Oil'
         WHEN 'Red' THEN 'Blood'
       END
  FROM dbo.Liquid
Run Code Online (Sandbox Code Playgroud)

有没有办法用它来控制流量而不是IF-ELSE,即

DECLARE @Color varchar()
SELECT @Color = Color FROM dbo.Liquid WHERE ID = @MyID

CASE (@Color)
  WHEN 'Blue' THEN SELECT 'Water'
  WHEN 'Black' THEN SELECT 'Oil'
  WHEN 'Red' THEN PRINT 'HELP! I''m bleeding!'
END
Run Code Online (Sandbox Code Playgroud)

sql t-sql sql-server syntax

4
推荐指数
1
解决办法
4504
查看次数

界面中不同参数的策略模式(C#)

我基本上试图实现一个策略模式,但我想将不同的参数传递给"接口"实现(继承自同一个对象)并且不知道这是否可行.也许我选择了错误的模式,我得到类似的错误

'StrategyA'没有实现继承的抽象成员'void DoSomething(BaseObject)'

使用以下代码:

abstract class Strategy
{
 public abstract void DoSomething(BaseObject object);
}

class StrategyA : Strategy
{
 public override void DoSomething(ObjectA objectA)
 {
  // . . .
 }
}

class StrategyB : Strategy
{
 public override void DoSomething(ObjectB objectB)
 {
  // . . .
 }
}

abstract class BaseObject
{
}

class ObjectA : BaseObject
{
 // add to BaseObject
}

class ObjectB : BaseObject
{
 // add to BaseObject
}

class Context
{
   private Strategy _strategy;

 // …
Run Code Online (Sandbox Code Playgroud)

c# inheritance abstract-class design-patterns strategy-pattern

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

NLog无法在发布模式下工作

我正在使用NLog来记录我的asp.net mvc(C#)应用程序中的异常.

NLog无法在发布模式下工作.在调试模式下运行时也一样.

可能是什么问题?有没有解决这个问题?

c# asp.net-mvc nlog

14
推荐指数
2
解决办法
6081
查看次数