问题列表 - 第6464页

为什么ConcurrentHashMap会阻止空键和值?

ConcurrentHashMap的JavaDoc 说:

类似Hashtable但不同HashMap,这个类就不会允许null用作键或值.

我的问题:为什么?

第二个问题:为什么Hashtable不允许null?

我使用了很多HashMaps来存储数据.但是当更改为ConcurrentHashMap时,由于NullPointerExceptions,我遇到了几次麻烦.

java concurrenthashmap

136
推荐指数
3
解决办法
5万
查看次数

在Rails中转义HTML

为了防止Rails应用程序中出现XSS漏洞,推荐使用HTML的方法是什么?

您是否应该允许用户将任何文本放入数据库但在显示时将其转义?你应该添加before_save过滤器来逃避输入吗?

xss ruby-on-rails

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

接受电子邮件作为应用程序输入的准则

许多应用程序具有允许用户响应来自应用程序的通知电子邮件的便利功能.响应被重新回到应用程序中.

例如,如果您正在构建客户支持系统,则电子邮件可能包含一些令牌,以将响应链接回正确的服务票证.

实施此类系统有哪些指导原则,提示和技巧?有哪些潜在的陷阱需要注意?希望那些已经实现了这样的系统的人可以分享他们的智慧.

email web-applications

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

Python tkinter标签在功能开始时不会改变

我正在使用tkinter和Python为将Excel文件转换为CSV的程序创建用户界面.

我创建了一个标签作为状态栏,并将statusBarText设置为StringVar()作为textvariable.inputFileEntry和outputFileEntry是包含输入和输出文件路径的文本变量.

def convertButtonClick():
    statusBarText.set('Converting...')

    if inputFileEntry.get() == '' or outputFileEntry.get() == '':
        statusBarText.set('Invalid Parameters.')
        return

    retcode = subprocess.('Program.exe' ,shell=true)

    if retcode == 0:
        statusBarText.set('Conversion Successful!')
    else:
        statusBarText.set('Conversion Failed!')
Run Code Online (Sandbox Code Playgroud)

单击转换按钮时会调用此函数,一切正常,但状态栏永远不会更改为"转换...".

如果输入或输出为空,状态栏文本将更改为无效参数,并且将根据返回代码更改为成功或失败.问题是它永远不会改变为'转换......'

我已经将那条确切的行复制并粘贴到if语句中并且它工作正常,但由于某种原因,它只是在子进程运行之前永远不会更改它位于函数顶部.任何帮助将不胜感激.

python label tkinter function statusbar

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

让部分URL成为参数的东西是什么名字?

例如:

http://stackoverflow.com/questions/698627/ms-access-properties
Run Code Online (Sandbox Code Playgroud)

该数字是URL的一部分,但是是Web应用程序的参数,而不是其他选项,例如:

http://www.google.com/firefox?client=firefox-a&rls=org.mozilla:en-US:official
Run Code Online (Sandbox Code Playgroud)

所有的args都在' ?'之后.我之前使用过第二种形式,我只是想了解第一种形式.

我相信一旦我知道了什么,我就能找到我需要的东西,所以我可以谷歌.

http url-rewriting

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

为什么在声明可变大小的C数组时,我没有收到编译错误?

我的理解一直是当我在堆栈上声明一个大小作为变量或参数出现的数组时,我应该得到一个错误.

但是,我注意到如果我没有显式初始化数组,我没有得到任何错误(是的,它不会在堆栈上,但我想知道缺少错误).例如,由于array2,以下代码无法编译:

#define N 30

void defineArrays(int n)
{
    int i,j;
    int array1[N] = {};

    int array2[n] = {};

    for(i=0; i<N; ++i) array1[i] = 0;

    for(j=0; j<n; ++j) array2[j] = 0;
}
Run Code Online (Sandbox Code Playgroud)

但是下面的代码编译并运行,即使我从main发送一个真正的n:

#define N 30

void defineArrays(int n)
{
    int i,j;
    int array1[N] = {};

    int array2[n];

    for(i=0; i<N; ++i) array1[i] = 0;

    for(j=0; j<n; ++j) array2[j] = 0;
}
Run Code Online (Sandbox Code Playgroud)

我在这里缺少什么?它是否将array2声明为指针?我正在使用gcc

更新:感谢所有回答的人.问题确实是我的gcc版本由于一些奇怪的原因而默认为C99(或者不是那么奇怪,也许我只是太老了),我错误地认为它默认为C90,除非我另有说明.

c arrays

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

参考C中的二维数组列?

是否有一种简单的方法可以将二维数组中的列作为普通旧C(不是C++或C#)中的单独1-D数组引用?这样做很容易.Asssume我有2个功能:

double doSomethingWithARow( double theRow[3] );
double doSomethingWithACol( double theCol[100] );
Run Code Online (Sandbox Code Playgroud)

然后,我可能会像这样使用第一个:

double matrix[100][3];
double result;

// pass a single row to a function as an array
// this essentially passes the 3-element array at row 48 to the function
for( int i=0; i < 100; i++ )
{
   result = doSomethingWithARow( matrix[i] );
}
Run Code Online (Sandbox Code Playgroud)

我想要一种轻松访问列的方法.

for( int j=0; j < 3; j++ )
{
   result = doSomethingWithACol( ??????????? );
}
Run Code Online (Sandbox Code Playgroud)

到目前为止,我唯一想到的就是转换矩阵以将行与列交换.但是这个代码应该在内存和速度方面尽可能高效.有了所有用C语言引用指针的复杂方法,似乎应该有办法做到这一点.

c arrays

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

使用rsync仅复制隐藏文件

我想使用rsync备份homedir中的所有隐藏文件和目录,但不是非隐藏文件和目录.

例如,给定此目录列表:

drwxr-xr-x   7 sophie  sophie  238 31 Mar 08:45 .
drwxr-xr-x  15 sophie  sophie  510 31 Mar 08:14 ..
-rw-r--r--   1 sophie  sophie    4 31 Mar 08:12 .foo
drwxr-xr-x   3 sophie  sophie  102 31 Mar 08:45 .hiddendir
drwxr-xr-x   4 sophie  sophie  136 31 Mar 08:13 VisibleDirectory
-rw-r--r--   1 sophie  sophie    9 31 Mar 08:13 VisibleFile
Run Code Online (Sandbox Code Playgroud)

我想备份.foo,.hiddendir和.hiddendir的所有内容,无论它们是否隐藏.我不想备份VisibleDirectory或VisibleFile.

我提出的所有咒语都备份了".",因此其所有内容包括VisibleFile和VisibleDirectory,我无法弄清楚如何排除它.请帮忙!

我正在使用Mac OS X 10.5.6(Leopard)和rsync版本2.6.9协议版本29.

macos rsync

7
推荐指数
2
解决办法
9060
查看次数

如何从winform控件生成位图?

如何使用C#在winform上生成控件的位图?

c# bitmap .net-3.5

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

打印属性名称(不是您想的)

这是一个我无法回答的粗略问题.

主程序

class Program{
    static void Main(string[] args){
        Console.WriteLine("Begin");
        var myClass = new MyClass();
        Util.Print(myClass.Id);
        Util.Print(myClass.Server);
        Util.Print(myClass.Ping);
        Console.WriteLine("End");
    }   
}
Run Code Online (Sandbox Code Playgroud)

如何实现Util.Print方法以将此输出提供给控制台:

Begin
Id
Server
Ping
End
Run Code Online (Sandbox Code Playgroud)

c#

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