小编pri*_*ime的帖子

ArrayList无法使用(String [])list.toArray()转换为String数组.为什么?

为什么以下代码无法执行,尽管它不会从IDE检测到错误.它会编译好.

 ArrayList<String> a = new ArrayList<String>();
    a.add("one");
    a.add("two");
    a.add("three");
    String [] b = (String[])a.toArray();
    for(int i =0;i<b.length;++i){
        System.out.println(b[i]);
    }
Run Code Online (Sandbox Code Playgroud)

但它会给出以下错误.

嵌套异常是java.lang.ClassCastException:[Ljava.lang.Object; 无法转换为[Ljava.lang.String;

有人能说清楚吗?之前已经提出过同样的问题,并提供了一些解决方案.但是对这个问题的明确解释将非常感激.

java string arraylist toarray

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

为什么不足以阻止前端的SQL注入?

大多数关于防止SQL注入的资源都在谈论从前端和后端,以及数据库级别来防止它。为什么我们需要做所有这些事情?

仅通过阻止用户发送恶意 SQL 代码作为输入,从前端执行此操作还不够吗?

sql-injection

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

未显示<span>和</ span>标记之间的空格

我有以下HTML文件.

<HTML>
<head>
</head>

<body>
    <div>
        <span>"|      Testing"</span>
    </div>
</body>

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

我想要打印"| Testing",而是打印出这个打印件"| Testing".所有这些都会发生什么spaces.

那些代码是不是要打印那些<span>标签之间的内容?难道我做错了什么?

html

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

这两个Scala定义有什么区别

我在Scala中具有以下2个定义,这给了我相同的结果。但这彼此有点不同。

def sum(f: Int => Int)(a: Int, b: Int): Int =
if (a > b) 0 else f(a) + sum(f)(a + 1, b)     //> sum: (f: Int => Int)(a: Int, b: Int)Int

sum(x => x*x)(1,2)   //> res3: Int = 5  
Run Code Online (Sandbox Code Playgroud)

第二个是

def sum(f: Int => Int,a: Int, b: Int): Int =
if (a > b) 0 else f(a) + sum(f,a + 1, b)      //> sum2: (f: Int => Int, a: Int, b: Int)Int

sum(x => x*x,1,2)                               //> res4: Int = …
Run Code Online (Sandbox Code Playgroud)

scala

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

java中相同代码块的运行时间不同.这是为什么?

我有以下代码.我只是想检查一下代码块的运行时间.而且我错误地复制并粘贴了相同的代码并获得了一个有趣的结果.虽然代码块是相同的,但运行时间是不同的.并且code block 1 花费的时间比其他人多.如果我切换代码块,(say i move the code blocks 4 to the top)那么代码块4将比其他代码块花费更多时间.

我在代码块中使用了两种不同类型的数组来检查它取决于它.结果是一样的.如果代码块具有相同类型的数组,则最顶层的代码块需要更多时间.请参阅以下代码和给定的输出.

public class ABBYtest {

public static void main(String[] args) {
    long startTime;
    long endTime;

    //code block 1
    startTime = System.nanoTime();
    Long a[] = new Long[10];
    for (int i = 0; i < a.length; i++) {
        a[i] = 12l;
    }
    Arrays.sort(a);
    endTime = System.nanoTime();
    System.out.println("code block (has Long array) 1 = " + (endTime - startTime));

    //code block 6
    startTime = System.nanoTime();
    Long aa[] …
Run Code Online (Sandbox Code Playgroud)

java performance

0
推荐指数
2
解决办法
1631
查看次数

订单何时重要,如何解决硬币更换任务?

正如我在这里找到的,

硬币变化是使用给定的一组面额d_1 .... d_m找到对特定数量的分数n进行更改的方法的问题.它是整数分区的一般情况,可以通过动态编程来解决.

问题通常被问为:如果我们想要为N美分做出改变,并且我们每个S = {S_1,S_2,.....,S_m}价值硬币都有无限供应,我们可以通过多少种方式来实现更改?(为简单起见,顺序并不重要.)

我试过这个,这很好用.因此,当不同硬币顺序确实重要时,我如何修改它以找到所有可能的硬币组合.

即:之前

例如,对于N = 4,S = {1,2,3},有四个解:{1,1,1,1},{1,1,2},{2,2},{1, 3}.

现在:

对于N = 4,S = {1,2,3},有7个解:{1,1,1,1},{1,1,2},{1,2,1},{2,1 ,1},{2,2},{1,3},{3,1}

这里{1,1,1,1}虽然可以选择不同顺序的四个'1',但它必须被视为一个最终组合.而不是考虑四个硬币是不同的.所以实际上不同硬币的顺序必须不同才能将其视为一个单独的组合.

例如:{1,1,3}不会假设{1_a,1_b,3_a}是一个组合而{1_b,1_a,3_a}是另一种具有不同排序的组合.

java algorithm

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

依次运行Ajax调用的两个函数

我有两个ajax calls内置的功能。

function a(){
    ajaxCall_A();
}
function b(){
    ajaxCall_B();
}
Run Code Online (Sandbox Code Playgroud)

我还有另一个函数,该函数按athen 的顺序调用这两个函数b

function c(){
    a();
    b();
    // expectation : function 'b' will get executed only after function 'a' finished it's execution  
}
Run Code Online (Sandbox Code Playgroud)

我不确定他们是否按预期工作。有时会这样做,但有时却不会。我认为这是因为ajax调用在它们内部是异步的。

如何运行函数“ c”中的两个函数以达到期望。

注意: 功能如下

function a(){ 
    $.ajax({
        url: "url_a",
        type: "post",
        dataType: "html",               
        cache: false,
        success: function(data){             

        },
        error:function(){             

        }   
    });   
}

function b(){ 
    $.ajax({
        url: "url_b",
        type: "post",
        dataType: "html",               
        cache: false,
        success: function(data){             

        },
        error:function(){             

        }   
    });   
}
Run Code Online (Sandbox Code Playgroud)

javascript ajax jquery

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

使用ajax的JavaScript函数不会一个接一个地执行?

我最近注意到我的代码的下面行为.

    function abc(){
        a();
        b();
        c();
    }
    function a(){
        // ajax call
        $("#number").val("a");
        // ajax call finished
    }
    function b(){
        // ajax call
        $("#number").val("b");
        // ajax call finished 
    }
    function c(){
        alert($("#number").val());
        // ajax call
        $("#number").val("c");
        // ajax call finished
    }
Run Code Online (Sandbox Code Playgroud)

HTML代码

<input id="number"  value=""  type="hidden"/>

<button type="submit" id="mySubmit" onClick="abc()">Search</button>
Run Code Online (Sandbox Code Playgroud)

我想当我调用函数时,abc()然后首先a()执行然后b()再执行c()

但在我看来,alertin c()是在b()完成之前执行,因为它显示a为警告框结果.

但如果代码如下所示,它按预期工作,(警报显示b)

    function abc(){
        a();
        b();
        c();
    }
    function a(){
        $("#number").val("a");
    } …
Run Code Online (Sandbox Code Playgroud)

javascript ajax jquery

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