为什么java泛型如此棘手?我以为我终于理解了,但是eclipse在下面的somOtherMethod中使用下面的getOuterList方法给出了一个错误.
protected List<?> getOuterList() {
// blah blah
}
protected List<? extends Object> getOuterList() {
// blah blah
}
protected void someOtherMethod() {
...
getOuterList().add((MyObject)myObject); //compile error
...
}
Run Code Online (Sandbox Code Playgroud)
更新:好的 - 所以我现在理解错误.我对什么List<?>
或List<? extends SomeObject>
真正意味着缺乏了解.在前一种情况下,我认为这意味着可以包含任何内容的列表.在后一种情况下,我假设它是一组扩展SomeObject的对象的列表.正确表达我的理解就是List<Object>
和List<SomeObject>
(没有扩展).我认为extend帮助我解决了他们没有解决的问题.所以这就是我真正的问题所在:
public interface DogKennel {
public List<Dog> getDogs();
}
public class GreyHoundKennel implements DogKennel {
protected List<GreyHound> greyHounds;
public List<GreyHound> getGreyHounds() {
return this.greyHounds;
}
public List<Dog> getDogs() {
// Is there no way to handle this with …
Run Code Online (Sandbox Code Playgroud) 我想知道是否有人知道为什么我所看到的最常拼写的所有编程语言(如首字母缩略词)也通常用小写字母书写.想到FORTRAN,LISP和COBOL,但我相信还有更多.
也许这没有任何理由,但我很想知道这些变化是否是由各自社区的标准或决定造成的.或者人们只是懒得打盖锁?(我知道我是)
lisp fortran programming-languages naming-conventions uppercase
目标:
例:
#include "Base.h"
#include "Derived.h"
{
static Base sb; // OK
Base ab, *hb = new Base; // OK
static Derived sd; // OK
Derived ad; // OK
Derived *pd = &ad; // OK
Derived *hd = new Derived; // Compile error, link error,
// test-unit exception, or lint gripe
struct Composite {
Base cb;
Derived cd;
} *hc = new Composite; // OK
// Edit to show side-effects of solutions which hide Base::operator new. …
Run Code Online (Sandbox Code Playgroud) 有人可以帮助我,我有这个xml片段
<?xml version="1.0" encoding="utf-8" ?>
<EmailConfiguration>
<DataBoxID>123</DataBoxID>
<DefaultSendToAddressCollection>
<EmailAddress>email@whereEver.com</EmailAddress>
</DefaultSendToAddressCollection>
</EmailConfiguration>
Run Code Online (Sandbox Code Playgroud)
我想从中创建一个corressponding c#类.在您说"只使用xsd.exe"之前,Xsd的输出无法序列化和反序列化正确,因为它使用部分类生成类.
请问你能告诉我如何创建这个类....这是我采取的方法,但它不起作用.
public class EmailConfiguration
{
private string dataBoxID;
public string DataBoxID
{
get { return dataBoxID; }
set { dataBoxID = value; }
}
private DefaultSendToAddressCollectionClass defaultSendToAddressCollection;
public DefaultSendToAddressCollectionClass DefaultSendToAddressCollection
{
get { return defaultSendToAddressCollection; }
set { defaultSendToAddressCollection = value; }
}
}
Run Code Online (Sandbox Code Playgroud)
这是子类的类声明
public class DefaultSendToAddressCollectionClass
{
private string[] emailAddress;
public string[] EmailAddress
{
get { return emailAddress; }
set { emailAddress = value; } …
Run Code Online (Sandbox Code Playgroud) 我已经做了一些事情来破坏OS X(10.5.7)终端中的Bash Shell提示符.
这是我配置的PS1:
PS1='\[\e[1;32m\]\h\[\e[0m\]:\[\e[1;34m\]\w\[\e[0m\]\$ '
Run Code Online (Sandbox Code Playgroud)
据我所知,我有正确的颜色命令逃逸.然而,当我在命令历史中向上和向下滚动时,如果历史命令包裹在多行上,我经常会遇到换行问题.
我将提示简化为以下内容:
PS1='\[\e[1m\]\h:\w\$ \[\e[0m\]'
PS2='> '
Run Code Online (Sandbox Code Playgroud)
我仍然看到类似的东西:
localhost:~/Library/Application Support/Firefox/Profiles/knpmxpup.Defau lt/extensions/{1A2D0EC4-75F5-4c91-89C4-3656F6E44B68}$ expocd \{1A2D0EC4-7 5F5-4c91-89C4-3656F6E export PS1="\[ \e[1;32m\]\h\[\e[0m\]: cd Library/Appl ication\ Support/
我也试过\033
而不是\e
.我刚刚将PS2包含在那里以获取信息,我没有从安装默认值中更改它.如果我完全删除颜色代码,那么一切正常,任何想法?
我基本上希望为通用C函数生成包装器,而无需手动指定类型.所以我有一个带有固定原型的回调,但是我需要根据包装函数的类型在包装器中做一些特殊的代码......所以基本上我在考虑在类模板中使用静态方法将我的函数包装到一致的接口,例如:
// this is what we want the wrapped function to look like
typedef void (*callback)(int);
void foobar( float x ); // wrappee
// doesn't compile
template< T (*f)(S) > // non-type template param, it's a function ptr
struct Wrapper
{
static void wrapped(int x)
{
// do a bunch of other stuff here
f(static_cast<S>(x)); // call wrapped function, ignore result
}
}
Run Code Online (Sandbox Code Playgroud)
然后我想做一些像:
AddCallback( Wrapper<foobar>::wrapped );
Run Code Online (Sandbox Code Playgroud)
但是,问题是我不能继续在Wrapper模板中的函数参数中使用"S",我必须先将其列为参数:
template< class T, class S, T (*f)(S) >
struct Wrapper
// ... …
Run Code Online (Sandbox Code Playgroud) 我有一个<img ... />
标签,我在jQuery中绑定了一个click事件.单击它时,我想让它模拟文件上传中的按钮单击以打开文件系统浏览弹出窗口.我在点击功能中尝试了这些东西但没有成功:
...
$(".hiddenUploadBtn").click();
...
...
$(".hiddenUploadBtn").select();
...
...
$(".hiddenUploadBtn").submit();
...
Run Code Online (Sandbox Code Playgroud) 我正在尝试从jar文件加载图标.我都试图从jar文件中的类以及jar文件之外的类加载它.
在jarfile之外 - 返回了一个null异常
java.net.URL imageURL = LoadHTMLExample.class.getClassLoader()
.getResource("icons/mouse.png");
Run Code Online (Sandbox Code Playgroud)
在LoadHTMLExample中的jar文件的一侧
java.net.URL imageURL = this.getClass().getClassLoader()
.getResource("icons/mouse.png");
Run Code Online (Sandbox Code Playgroud)
得到同样的错误.
我也尝试了各种各样的"图标","/ icons""icons /""/ icons/_mouse.png""icons/mouse.png"
什么似乎没有任何想法
该图标位于jar文件中
jar
--icons --- {all the images}
--com.blah.blah
Run Code Online (Sandbox Code Playgroud) 我是MVC的新手,但我已经看到了它的好处和优势.但是,我有一个(可能很容易回答)设计问题:
我一直在思考模型并讨论构造它们的正确方法.我看到它的方式有几个选择:
1)模型和表结构具有1对1的关系......这意味着每个表都有相应的模型.模型类具有与表列对应的属性,并且具有所需的任何方法(如getter和setter),以任何必要的方式操作表中的数据.这似乎是通用选项,我想我会让控制器根据需要调用模型来执行任何必要的业务功能.
2)模型与业务逻辑的操作而不是数据紧密相关:例如,如果在前端删除某个对象影响多个表,则模型然后"模拟"此行为并与多个表交互并执行必要的功能.然后,控制器只需要针对所需的任何业务行为调用单个模型.这是不太通用的,因为模型更加紧密耦合..但似乎更快实现.
3)前两个选项之间的东西.或许我完全忽略了这一点.
希望这是有道理的!如果我不完全忽略这一点,我倾向于认为选项(1)更好.任何的想法?
编辑:不是它应该重要,但我打算使用Codeigniter PHP MVC框架.
我的哈德森构建步骤中有一个Windows批处理命令,基本上是:
xcopy /s *.* \\serverlocation\buildname\
Run Code Online (Sandbox Code Playgroud)
副本失败了:
'xcopy' is not recognized as an internal or external command, operable program or batch file.
Run Code Online (Sandbox Code Playgroud)
但是,xcopy可以在命令行上使用(就像复制一样).我需要做些什么来使哈德森使用xcopy?
编辑:我的路径是
PATH=C:\WINDOWS\system32;C:\WINDOWS;C:\WINDOWS\System32\Wbem;C:\Program Files\Perforce;C:\Program Files\CVSNT;C:\Program Files\CVSNT\
Run Code Online (Sandbox Code Playgroud)
这可能是它从命令行运行的原因.