问题列表 - 第26366页

反射:将对象转换为子类而不使用instanceof

我有这个简单的接口/类:

public abstract class Message {}

public class Message1 extends Message {}

public class Message2 extends Message {}
Run Code Online (Sandbox Code Playgroud)

一个实用类:

public class Utility {
    public void handler(Message m) {
        System.out.println("Interface: Message");
    }

    public void handler(Message1 m) {
        System.out.println("Class: Message1");
    }

    public void handler(Message2 m) {
        System.out.println("Class: Message2");
    }
}
Run Code Online (Sandbox Code Playgroud)

现在,主要类:

public static void main(String[] args) {

    Utility p = new Utility();

    Message1 m1 = new Message1();
    p.handler(m1);

    Message m = (Message) m1;
    p.handler(m);

}
Run Code Online (Sandbox Code Playgroud)

输出是

> Class: Message1
> Interface: Message …
Run Code Online (Sandbox Code Playgroud)

java reflection subclass instanceof superclass

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

如何恢复git删除的文件?

我是一个git noob和git刚刚删除了一堆重要的文件.我该如何取回它们?

我在我的本地机器上有一个回购.为了进入git,我只需右键单击我的项目文件夹并选择"git bash here".这会让我掌握所有主要内容的主人.

所以我对舞台做了一些改动,我做了:

git add .
Run Code Online (Sandbox Code Playgroud)

这上演了一系列变化.我注意到我不想要其中一些上演,所以我决定尝试取消前进.我这样做了:

git reset --hard HEAD^
Run Code Online (Sandbox Code Playgroud)

这基本上删除了我在上次提交时创建的一堆文件,然后跳转到提交.

如何获取这些文件?如果我不能通过git做到这有另一种方式吗?

git

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

为什么我们不需要关闭ShellExecute返回的句柄?

成功时,ShellExecute返回一个句柄.

我们需要关闭这个句柄,如果是这样,怎么样?

根据已公布的我微软的例子,我们需要关闭该句柄.但ShellExecute本身的文档在这个主题上是静音的.你能否证实我们确实不需要关闭这个手柄?

但是,一个句柄如何有效并且不需要被关闭?以下哪个陈述是真实的:

  1. 句柄无效,我们无法做任何事情;
  2. 句柄永远不会被释放,并且(微软赞助的)内存泄漏(直到调用者程序结束);
  3. 系统会在某个时间自动释放句柄,之后再也不会重复使用( - >其他类型的资源泄漏).只有在尝试使用它时,我们才能知道它是否仍然指向某种东西.
  4. 还有什么 ?

winapi shellexecute

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

为什么在python中给str func一个unicode字符串会抛出一个异常?

例如以下内容:str(u'לשום')将抛出错误.我怎么能阻止这些?

python string unicode

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

什么时候实际创建了一个闭包?

在以下情况下是否创建了闭包foo,但不适用于bar

情况1:

<script type="text/javascript">

    function foo() { }

</script>
Run Code Online (Sandbox Code Playgroud)

foo 是一个只有全局范围的范围链的闭包.

案例2:

<script type="text/javascript">

    var i = 1;
    function foo() { return i; }

</script>
Run Code Online (Sandbox Code Playgroud)

案例1相同.

案例3:

<script type="text/javascript">

    function Circle(r) {
        this.r = r;
    }
    Circle.prototype.foo = function() { return 3.1415 * this.r * this.r }

</script>
Run Code Online (Sandbox Code Playgroud)

在这种情况下,Circle.prototype.foo(返回圆的区域)指的是仅具有全局范围的闭包.(创建此闭包).

案例4:

<script type="text/javascript">

    function foo() { 
        function bar() { 
        }
    }

</script>
Run Code Online (Sandbox Code Playgroud)

这里,foo是一个只有全局范围bar的闭包,但不是闭包(因为),因为函数foo没有在代码中调用,因此不会bar创建任何闭包.只有在foo被调用时它才会存在,并且闭包bar将一直存在直到 …

javascript closures

13
推荐指数
2
解决办法
1899
查看次数

Nhibernate和not-exists查询

我正在尝试在NHibernate中构建一个查询,以返回没有符合特定条件的订单的客户列表.

我的客户对象包含一组订单:

<set name="Orders">
    <key column="CustomerID" />
    <one-to-many class="Order" />
</set>
Run Code Online (Sandbox Code Playgroud)

如何使用NHibernate的ICriteria API构建查询以获取所有没有订单的客户的列表?使用本机SQL,我能够像这样表示查询:

select * from tblCustomers c where not exists 
    (select 1 from tblOrders o where c.ID = o.CustomerID)
Run Code Online (Sandbox Code Playgroud)

我一直无法弄清楚如何使用别名和DetatchedCriteria对象来做到这一点.任何指导将不胜感激!

谢谢!

nhibernate

6
推荐指数
1
解决办法
2470
查看次数

如何创建一个无法杀死的进程?

我正在运行我的java应用程序.它显示在任务管理器的进程选项卡中.我不希望用户杀死这个过程?

如果可能的话,我也不希望我的进程也在进程列表中.

我的应用程序是局域网管理员.我需要记录客户机.如果用户可以杀死我的进程,那么创建这样的应用程序是没有用的.

java windows process

-7
推荐指数
3
解决办法
611
查看次数

如何在xcode中管理svn存储库

我在我的xcode项目中使用svn.我在当前项目中添加了两个文件,将它们添加到存储库并为我的classes文件夹提交了更改.但是当我尝试提交整个项目时,我收到此错误:

错误:155005(工作副本未锁定;这可能是一个错误,请报告)说明:提交失败(详情如下):
错误:155005(工作副本未锁定;这可能是一个错误,请报告)说明:目录'/用户/ gopalmadhu /桌面/所有我的数据/ Schduler当前代码/ build/Debug-iphonesimulator/scheduler.app.dSYM/.svn'包含工作副本管理区域

因此,当我检查代码时,已经签入的类不可见.文件位于项目中,但不可见.作为一种解决方法,我需要再次将它们从项目文件夹添加到classes文件夹中.这不是管理svn的正确方法.我该怎么办?

svn xcode

8
推荐指数
1
解决办法
6826
查看次数

有没有办法让Git将文件标记为冲突?

可以提交包含冲突数据的文件.有没有办法再次将这些文件标记为冲突,以便运行git mergetool将生成必要的文件并运行合并工具?

git merge mergetool

41
推荐指数
3
解决办法
9198
查看次数

如何在JfreeChart中包装类别标签

我有使用JFreeChart创建的Stacked Bar Chart.该类别的标签非常大,它们与下一个Bar的标签重叠.我想将它包装到下一行.我做了一些搜索,发现我必须使用下面的代码.CategoryAxis中的setMaximumCategoryLabelLines(2)仍然不会换行到下一行.

请建议解决方案.

label jfreechart word-wrap categories

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