问题列表 - 第44923页

Java"unchecked调用compareTo(T)作为原始类型java.lang.Comparable的成员"

我正在尝试将排序列表实现为Java中的简单练习.为了使它具有通用性我有一个add(Comparable obj)所以我可以在任何实现Comparable接口的类中使用它.

但是,当我obj.compareTo(...)在代码中的任何地方使用时,我"unchecked call to compareTo(T) as a member of the raw type java.lang.Comparable"从编译器(带-Xlint:unchecked选项)获得.代码工作正常,但我无法弄清楚如何摆脱这个恼人的消息.

任何提示?

java generics unchecked comparable

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

使用相同的字符串文字而不是最终变量?

我遇到过一个包含字符串文字"foo"的多种用法的类.

我想知道的是,使用这种方法有什么好处和影响(在对象创建,内存使用和速度方面),而不是将String声明为final并用最终变量替换所有文字?

例如(虽然显然不是真正的单词用法):

private static final String FINAL_STRING = "foo";

public void stringPrinter(){
    for(int i=0;i<10;i++){
        System.out.println(FINAL_STRING);
    }
}
Run Code Online (Sandbox Code Playgroud)

与:

public void stringPrinter(){
    for(int i=0;i<10;i++){
        System.out.println("foo");
    }
}
Run Code Online (Sandbox Code Playgroud)

哪个更好,为什么(假设字符串值保持不变)?

上面的(第二个)示例是否会导致创建10个String对象,或者JVM是否会意识到实际只使用了一个文字,并创建了一个引用.如果是这样,将String声明为final是否有任何优势(如第一个例子中所示)?

如果解释的代码确实用单个引用替换字符串文字,那么如果相同的文字出现在多个位置,那么它是否仍然适用:

public void stringPrinter(){
    for(int i=0;i<5;i++){
        System.out.println("foo"); // first occurence
        System.out.println("foo"); // second occurence
    }
}
Run Code Online (Sandbox Code Playgroud)

java string final

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

.Net SHA256Managed产生无效散列

我正在编写一个函数来在文件上生成SHA256哈希.这是我使用的代码

public string ComputeHash(Byte[] inputBytes)
    {
        Byte[] hashedBytes = new SHA256Managed().ComputeHash(inputBytes);
        return BitConverter.ToString(hashedBytes);
    }
Run Code Online (Sandbox Code Playgroud)

非常简单.事实上,根据我尝试的一些工具,产生的散列似乎没有效果,实际上,它与我见过的任何其他sha256字符串不同(甚至不是256字节).例如,一个结果是

12-10-B2-60-24-75-11-95-B5-F7-F6-64-39-C3-22-9F-E7-E7-D4-13-69-18-99-C5-A7-C5-EC-2F-E2-D6-09-19
Run Code Online (Sandbox Code Playgroud)

即使我修剪掉每一个字符,一切都是大写的,而我总是看到小写的代表.(这也是一个问题)我想知道我是否以正确的方式使用该库.请帮忙

.net hash cryptography sha256

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

手动取消固定C#中的byte []?

在下面的代码中,似乎client.Connect.Receive永久地固定"byte []结果",导致永远不会释放内存(因为它总是被固定).我正在寻找一种方法来告诉C#,在使用它之后不再需要固定它.OnReceive,但我找不到内置函数或关键字来执行此操作.

有谁知道如何让C#取消固定byte []数组?(这是我的C#应用​​程序中的内存泄漏源之一)

this.m_TcpListener = new TcpListener(this.p_TcpEndPoint.Port);
this.m_TcpThread = new Thread(delegate()
{
    try
    {
        this.m_TcpListener.Start();
        while (this.p_Running)
        {
            TcpClient client = this.m_TcpListener.AcceptTcpClient();
            new Thread(() =>
                {
                    try
                    {
                        // Read the length header.
                        byte[] lenbytes = new byte[4];
                        int lbytesread = client.Client.Receive(lenbytes, 0, 4, SocketFlags.None);
                        if (lbytesread != 4) return; // drop this packet :(
                        int length = System.BitConverter.ToInt32(lenbytes, 0);
                        int r = 0;

                        // Read the actual data.
                        byte[] result = new byte[length];
                        while (r < length)
                        { …
Run Code Online (Sandbox Code Playgroud)

c# memory-leaks pinning

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

在Adobe Dreamweaver中使用SASS

我试图找出如何在Dreamweaver中开始使用SASS文件.

我尝试打开时收到的错误消息是:"找不到此文件扩展名的有效编辑器".

我的所有SASS文件都是有效的,并且可以在Eclipse中打开.

提前感谢任何可以发布任何提示的人.

file dreamweaver sass

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

当有多个输入文本时,表单不提交

这是一个非常简单的问题.这是在Firefox(3.6),IE(8)和Chrome(8)上测试的.

这是文件doesnotsubmit.html

<form>
    <input />
    <input />
</form>
Run Code Online (Sandbox Code Playgroud)

当焦点在其中一个输入上并按Enter键时,没有任何反应.

下面是doessubmit.html文件

<form>
    <input />
</form>
Run Code Online (Sandbox Code Playgroud)

当焦点在输入上并按Enter键时,表单将被提交.

对此不一致行为的任何见解?

我知道表单缺少提交按钮,因此在语义上不正确.无论如何,提交过程意味着通过jQuery对话框按钮窗口的按钮自动处理,我不知道如何放置一个额外的<input type ="submit"/>.

forms enter input keypress submit

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

volatile DateTime

由于DateTime不能声明为volatile,这是对的吗?:

        private DateTime _time;
        public DateTime Time
        {
            get
            {
                Thread.MemoryBarrier();
                return _time;
            }
            set
            {
                _time = value;
                Thread.MemoryBarrier();
            }
        }
Run Code Online (Sandbox Code Playgroud)

该属性可以从不同的线程访问,所以我想确保它们始终获得最新版本,而不使用争用(锁定).

编辑:

  • 我有一组难以创建的项目,每个项目都有一个名为CreationTime的DateTime属性,指示何时创建此项目.它被初始化为DateTime.UtcNow.
  • 每次访问项目时,该属性都会更新为DateTime.UtcNow.
  • 有一个线程,在线程计时器中及时执行,检查是否(DateTime.UtcNow + 1小时)> item.CreationTime,如果为true则删除该项.

我想确保当"删除线程"进入集合时,所有项目都有最新的"最后访问"DateTime,因此我可以避免再次创建项目,因为缓存保持该值几毫秒:d

提前致谢.

.net c# multithreading synchronization volatile

10
推荐指数
1
解决办法
6007
查看次数

代码比较软件

我有两个目录,每个目录有数百个PHP文件.第二个目录是从第一个目录复制而来的,并且作为版本控制的"坏"方式工作.问题是,我们不知道哪些文件必须更改(程序员没有提供任何注释),如果是,则更改了什么.

我已经看过可以比较两个单独已知文本文件的差异的软件,但我正在寻找可以读取目录中所有文件(比如PHP)并进行比较的东西.

有人知道可能会有所帮助吗?

编辑

我目前正在Windows XP机器上的XAMPP设置上运行我的所有代码.

php comparison

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

如何使用Jquery分割像45frank这样的字符串

我有一个我的网站的一部分,我使用复选框显示隐藏信息divs onclick.我需要能够切换一个继续按钮以及隐藏的div(显示/隐藏)或(切换),同时收集字符串前面的2位数字,以便在添加到购物车时用作ID.我想也许是使用reg exp的jquery split()函数.我如何分割像45frank这样的字符串,所以它会像id = 45和val = frank.

php regex jquery

0
推荐指数
1
解决办法
1365
查看次数

使用proguard时如何保留/排除特定的包路径?

我想从ProGuard中排除一些文件路径.例com.myapp.customcomponents

我怎样才能做到这一点?我讨厌为这个目录中的每个自定义组件文件放置-keep标志.

我尝试了以下但它不起作用:

-keep public class com.myapp.customcomponents.*
Run Code Online (Sandbox Code Playgroud)

android proguard

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