有没有一种方法/工具可以自动将Java源代码从使用原始类型转换为使用泛型类型?
我有一些遗留代码,对原始类型有677个引用:
ArrayList 47
Vector 420
Hashtable 61
Enumeration 64
Class 7
Iterator 78
TOTAL 677
Run Code Online (Sandbox Code Playgroud)
现在我可以手动查看代码来推断泛型类型并替换,但这需要很长时间.
我在VB.NET WinForms应用程序中有一个WebBrowser控件.我能够在不提示用户的情况下从代码和打印设置默认打印机.但是,还有一个显示PrintDialog的打印按钮.如果首先执行此操作,则将打印页面.然后,如果我尝试以后以编程方式打印(再次将默认打印机设置为其他打印机),它将打印到PrintDialog框中选择的最后一台打印机,即使我正在重置默认打印机并看到在Windows中更改默认打印机.
有任何想法吗?
除非ShowPrintDialog首先选择了打印机,否则它可以正常工作.一旦发生这种情况,无论我做什么,似乎总是使用该打印机.
For Each strPrinter In PrinterSettings.InstalledPrinters
If strPrinter.Contains("My Printer") Then
wScript.SetDefaultPrinter(strPrinter)
End If
Next
browser.Print()
Run Code Online (Sandbox Code Playgroud) 我有一个应用程序,其中有一个表单,我想在第二个屏幕上显示.
平均值如果应用程序在屏幕A上运行,当我单击菜单以显示表格时,它应显示在屏幕B上,如果应用程序在屏幕B上运行,当我单击菜单显示表格时,它应显示在屏幕A上.
我只是在学习GWT,所以我还在努力解决它的所有怪癖和特征.我正在阅读他们给出的描述MVP模式的例子,我几乎得到它,除了我想知道一件事.
他们使用的AppController实现了ValueChangeHandler接口,并且在历史记录更改时触发onValueChange方法.
我的问题在于AppController中的onValueChange(我已将它包含在下面,供没有看过示例项目的人使用).它正在对发送的历史记录进行字符串比较,并实例化相应的演示者以处理该操作.对于具有3个动作的示例应用程序来说,这一切都很好,但是如何将其扩展为具有更多操作的真实应用程序?
坚持这种模式会导致相当大/丑else if,但我仍然太新GWT(和java)推断更大的应用程序更好的模式.
任何帮助是极大的赞赏!
public class AppController implements Presenter, ValueChangeHandler<String> {
...
public void onValueChange(ValueChangeEvent<String> event) {
String token = event.getValue();
if (token != null) {
Presenter presenter = null;
if (token.equals("list")) {
presenter = new ContactsPresenter(rpcService, eventBus, new ContactsView());
}
else if (token.equals("add")) {
presenter = new EditContactPresenter(rpcService, eventBus, new EditContactView());
}
else if (token.equals("edit")) {
presenter = new EditContactPresenter(rpcService, eventBus, new EditContactView());
}
if (presenter != null) {
presenter.go(container);
}
}
}
}
Run Code Online (Sandbox Code Playgroud) 如何在javascript中使输入字段可编辑.我的意思是onFocus将它置于插入模式,以便可以覆盖值.有什么建议 ???
我似乎无法正确地将onchange事件附加到dijit.form.Select小部件.但是,我是网络开发的新手,所以我可能会做一些完全愚蠢的事情(虽然,我能说得最好(而且我已经读过我能找到的所有文档)我不是).我确保body类匹配dojo主题,我为所有使用的小部件(和dojo.parser)dojo.require(),仍然是,nada.我正在使用的代码是:
dojo.addOnLoad(function () {
var _query = dojo.query('.toggle');
for (var i in _query) {
dojo.connect(_query[i], 'onchange', function (ev) {
console.log(ev + ' fired onchange');
});
}
});
Run Code Online (Sandbox Code Playgroud)
任何帮助都将不胜感激.
另外:在深入研究dijit如何呈现小部件的内部之后,我发现当我将dojoType ='dijit.form.Select'属性 - 值对添加到我的html元素(以声明方式执行此操作)时,dijit实际上呈现了一个 - 行二列表.表的第一个元素是一个span(带有类dijitSelectLabel),我假设它只显示所选(或默认)元素.它的第二个元素似乎是一个呈现为向下箭头的按钮,用于切换菜单主题的显示以响应某些DOM事件.另外(我认为这非常漂亮),dijit实际上并没有将选择选项放在DOM树中,直到触发其中一个事件.在一个新的页面加载(在我点击任何东西之前)之后我立即查看了firebug中的HTML,并且第二个选项无法找到.然后,一旦我点击箭头按钮,就会有一个dijit.Menu小部件,dijit会将dijit.Menu粘贴到body节点的末尾; 在我点击其他地方之后,Menu小部件仍然是正文的lastChild,现在它只是隐藏而没有附加到form.Select小部件.
如果我想要做的就是在DOM树中放置一个不同的dijit.form小部件,具体取决于用户选择的项目,它真的会这么复杂吗?
结论:原来这是一个大写问题.
dojo.connect(widget_obj, 'onChange', function_obj);
Run Code Online (Sandbox Code Playgroud)工作,而
dojo.connect(widget_obj, 'onchange', function_obj);
Run Code Online (Sandbox Code Playgroud)没有.我总是使用java/vb.net和php(中级经验)自行设计/开发/发布软件或web项目/独立活动.但最近我必须使用Zend或Cakephp在一家拥有5+团队的公司工作.
问:我的问题是你如何在团队和所有SVN员工中使用php框架?10 ppls将成为一个班级?还是一个模块?还是一个头版?在大多数情况下,它是如何制作或实施的?有人可以详细解释.
提前致谢.
有没有更好的方法来合并重叠的日期间隔?
我提出的解决方案非常简单,现在我想知道其他人是否能更好地了解如何做到这一点.
/***** DATA EXAMPLE *****/
DECLARE @T TABLE (d1 DATETIME, d2 DATETIME)
INSERT INTO @T (d1, d2)
SELECT '2010-01-01','2010-03-31' UNION SELECT '2010-04-01','2010-05-31'
UNION SELECT '2010-06-15','2010-06-25' UNION SELECT '2010-06-26','2010-07-10'
UNION SELECT '2010-08-01','2010-08-05' UNION SELECT '2010-08-01','2010-08-09'
UNION SELECT '2010-08-02','2010-08-07' UNION SELECT '2010-08-08','2010-08-08'
UNION SELECT '2010-08-09','2010-08-12' UNION SELECT '2010-07-04','2010-08-16'
UNION SELECT '2010-11-01','2010-12-31' UNION SELECT '2010-03-01','2010-06-13'
/***** INTERVAL ANALYSIS *****/
WHILE (1=1) BEGIN
UPDATE t1 SET t1.d2 = t2.d2
FROM @T AS t1 INNER JOIN @T AS t2 ON
DATEADD(day, 1, t1.d2) BETWEEN …Run Code Online (Sandbox Code Playgroud) 我有一个表,其中包含我正在编写的程序的日志条目.我正在寻找关于SQL查询的想法(我正在使用SQL Server Express 2005),它将保留最新的X数量的记录,并删除其余的.我有一个datetime列,它是日志条目的时间戳.
我认为以下内容可行,但我不确定IN子句对大量记录的性能.性能并不重要,但我也可以在第一时间做到最好.
DELETE FROM MyTable WHERE PrimaryKey NOT IN
(SELECT TOP 10,000 PrimaryKey FROM MyTable ORDER BY TimeStamp DESC)
Run Code Online (Sandbox Code Playgroud)
我应该提一下,这个查询每天运行3-4次(作为另一个进程的一部分),因此与每个查询一起删除的记录数量与将要保留的记录数量相比将会很小.
boost::ref(i)和之间有什么区别& i?在哪些情况下我们不能使用常规参考而必须boost::ref改为使用?如果可能,请提供示例.