小编Lio*_*ion的帖子

检查字符串内容?string Length Vs Empty String

哪个更有效的编译器和检查字符串是否为空的最佳实践?

  1. 检查字符串的长度是否== 0
  2. 检查字符串是否为空(strVar =="")

此外,答案是否取决于语言?

language-agnostic compiler-construction string optimization

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

在super()的参数列表中调用静态方法在Java中是有效的.为什么?

我们来看看Java中的以下代码片段.

package trickyjava;

class A
{
    public A(String s)
    {
        System.out.println(s);
    }
}

final class B extends A
{
    public B()
    {
        super(method());      // Calling the following method first.      
    }

    private static String method()
    {
        return "method invoked";
    }
}

final public class Main
{
    public static void main(String[] args)
    {
        B b = new B();
    }
}
Run Code Online (Sandbox Code Playgroud)

按照惯例,Java中的super()构造函数必须是相关构造函数体中的第一个语句.在上面的代码中,我们在super()构造函数参数列表中调用静态方法本身是super(method()); .


这意味着在构造函数B()中对super的调用中,在调用super之前调用了一个方法!这应该被编译器禁止,但它很好用.这有点等同于以下陈述.

String s = method();
super(s);
Run Code Online (Sandbox Code Playgroud)

但是,它是非法的,导致编译时错误,指示"调用super必须是构造函数中的第一个语句".为什么?为什么它等价超级(method()); 是有效的,编译器不再抱怨?

java static

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

使用Oracle中的CREATE命令将列名称包含在双重quoatation标记内无法正常工作.为什么?

让我们考虑products在Oracle 中说一个简单的表(我试过Oracle 9i).我正在使用以下CREATE语句创建此表.

CREATE TABLE products

("prod_id" varchar2(7) primary key, "product_name" varchar2(30) NOT NULL);
Run Code Online (Sandbox Code Playgroud)

需要特别注意的是,我将列名称用双引号括起来,""因为通常我们不这样做.它显然会起作用,并且products将使用具有指定CONSTRAINTS的那两列创建表.


现在,让我们使用以下INSERT INTO命令将一些行插入此表中.

INSERT INTO products VALUES('P0001', 'Nokia-N97');
INSERT INTO products VALUES('P0002', 'Nokia-1208');
INSERT INTO products VALUES('P0003', 'Nokia-1115');
Run Code Online (Sandbox Code Playgroud)

将三行插入products表中.


为确保这些行确实已插入,我们可以按如下方式发出SELECT语句.

SELECT * FROM products;
Run Code Online (Sandbox Code Playgroud)

工作得很好,并显示我们插入的三行.


现在,这里的实际问题.当我们发出以下SELECT语句时

SELECT prod_id, product_name FROM products;
Run Code Online (Sandbox Code Playgroud)

即使我们在这个SQL中没有犯任何错误也无法工作.相反,Oracle会报告此类列不存在.为什么会这样?我想,必须有非常具体的理由.

我确信在我刚刚完成的情况下,不必在双引号内包含列名可能不是最好的做法,但只是我遇到了一个问题.

oracle syntax

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

将HTML表单数据传递给Javascript函数

我创建了一个表单,其中有一个下拉菜单可供选择,还有三个其他文本字段供用户输入数据.

我需要对用户输入的数据执行计算,然后显示结果.

现在,我只想将结果传递给函数并打印结果.从那里我将弄清楚如何将这些输出显示到表中.

现在,我无法识别特定元素的价值.使用下拉菜单,我可以通过写入识别所选值 document.getElementById("activity_level").value.运行该函数时,其余值不会出现.我假设我没有识别值类型,因此浏览器知道显示的内容.

这是我的HTML:

<form>
        Activity Level: <select id="activity_level">
                        <option value="null">Please Choose One...</option>
                        <option value="1.25">Practically a Vegetable</option>
                        <option value="1.35">Mostly Desk Work and Light Walking</option>
                        <option value="1.55">Moderate Exercise 2-3 Times Per Week</option>
                        <option value="1.75">Heavy Exercise 3-4 Times Per Week</option>
                        <option value="1.95">Committed Hardcore Athlete</option>
                        </select></br>
        BodyFat Percentage <input type="text" id="bfp" /> </br>
        Total Weight <input type="text" id="tw" /></br>
        Target Bodyfat Percentage <input type="text" id="target_bodyfat_pct" /></br>
        <input type="button" value="Calculate" onclick="Calculate()" />
    </form>
Run Code Online (Sandbox Code Playgroud)

这是我的javascript:

 <script type="text/javascript">

    function Calculate(){
        //document.write(bfp + "</br>"); …
Run Code Online (Sandbox Code Playgroud)

html javascript

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

如何在重定向页面之前获取警报消息

我正在使用vs 2010.我需要向用户显示消息并重定向页面.

我用下面这行.

ScriptManager.RegisterStartupScript(this, this.GetType(), "alert", "<script> alert('User details saved sucessfully');window.open('frmDisplayUsers.aspx');</script>", true);
Run Code Online (Sandbox Code Playgroud)

但我没有得到警报消息,页面被直接重定向.

如何获得提醒信息?

javascript c# asp.net

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

org.springframework.dao.DataIntegrityViolationException误报原因?

我正在使用hibernate插入一个mysql表,其中所有列都定义为非null.它具有唯一的主键和多个列上的另一个唯一索引.

我收到以下错误:

org.springframework.dao.DataIntegrityViolationException:无法执行JDBC批量更新; SQL [插入MY_TABLE(col1,col2,col3,col4,ID_)值(?,?,?,?,?)]; 约束[null]

此错误在客户日志中,我无法自己重现问题,因此我无法进行调试以查看insert语句中的值.

我的理解是"约束[null]"意味着违反了"非空"约束.但是,看看我的代码,我看不到任何可能的方式,插入时任何数据都可能为null,除非hibernate试图插入一个空ID(这在hibernate中是一个非常糟糕的错误,所以似乎不太可能).

但是,我可以看到如何违反唯一约束.该消息是否可能具有误导性,我实际上是在获得唯一的密钥违规?"constraint [null]"是否始终意味着违反了非空约束?

java spring hibernate

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

在Java中使用DecimalFormat进行舍入

让我们看看Java中的以下语句.

System.out.println(new DecimalFormat("0").format(2.4)); //returns 2

System.out.println(new DecimalFormat("0").format(2.5)); //returns 2  <---Concentrate here
System.out.println(Math.round(2.5));                    //returns 3

System.out.println(new DecimalFormat("0").format(2.6)); //returns 3
System.out.println(new DecimalFormat("0").format(3.5)); //returns 4
Run Code Online (Sandbox Code Playgroud)

在上述陈述中,除以下情况外,所有其他情况都很明显.

System.out.println(new DecimalFormat("0").format(2.5));
Run Code Online (Sandbox Code Playgroud)

它应该返回,3但它返回2.怎么样?

java decimalformat

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

C#中的Java Robot类等效代码

有人可以帮助我将以下java代码转换为C#.

Robot robot = new Robot();
robot.keyPress(KeyEvent.VK_WINDOWS);
robot.keyPress(KeyEvent.VK_M);
robot.keyRelease(KeyEvent.VK_WINDOWS);
robot.keyRelease(KeyEvent.VK_M);
Run Code Online (Sandbox Code Playgroud)

我知道我们必须使用'user32.dll'.但我不确定我们要调用哪种方法.

c# java

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

为什么建议避免使用.innerHTML?

很抱歉作为一个JavaScript菜鸟,但任何人都可以解释为什么建议不要使用.innerHTML.当我们有更快更容易的形式时.innerHTML,为什么我们不应该使用它?

javascript

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

SQL选择组查询

下面是我的表

表格1

+--------+----------+---------+  
| amount | make     | product |  
+--------+----------+---------+  
|    100 | Nokia    | Mobiles |   
|    300 | Samesung | Mobiles |   
|    700 | Micromax | Mobiles |   
|   1000 | Karbonn  | Mobiles |   
|    500 | Lava     | Mobiles |   
|    100 | Floyer   | Gift    |   
|    500 | Arichies | Gift    |   
|    300 | Feeling  | Gift    |   
+--------+----------+---------+  
Run Code Online (Sandbox Code Playgroud)

现在我想为每种产品显示两个最高金额...

所以我想构建单个SQL查询,它给出了如下结果.

+--------+----------+---------+  
| amount | make     | product |  
+--------+----------+---------+  
| …
Run Code Online (Sandbox Code Playgroud)

mysql sql database

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