小编Ant*_*t's的帖子

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

在Groovy中键入Casting

我有两个问题.

我做了以下代码来查找ASCII值$:

def a = "\$"
def b = (int)a 
println b //prints 36
Run Code Online (Sandbox Code Playgroud)

我很满意答案.但当我试图像这样反过来时,我发现我错过了一些东西:

def a = 36
String b = a
println b // getting output only 36 
Run Code Online (Sandbox Code Playgroud)

问题1:

所以我的第一个问题是为什么要打印36,为什么不打印$?我错了吗?

好吧,如果相同的第一个代码块被重写为:

    def a = "\$"
    def b = a as int
    println b
Run Code Online (Sandbox Code Playgroud)

如果我运行此程序,我会收到如下错误:

Caught: java.lang.NumberFormatException: For input string: "$"
    at T.run(T.groovy:2)
Run Code Online (Sandbox Code Playgroud)

即使我想尝试像以前一样.我收到了一个错误.

问题2:

那么,为什么as关键字不会在这里工作,也def a = (int)b就是不等于def a = b as int?请解释一下.

提前致谢.

groovy

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

如何从"发生异常后不刷新会话"错误中恢复?

我有两节课:

用户

class User {
    //relationships. . . .
    static belongsTo = [ company : Company, role : Role ]
    static hasMany = [ holidays : Holiday ]
    String login
    String password
        static constraints = {
        login(unique:true,size:6..15)
        }
    String toString() {
        this.login
    }
}
Run Code Online (Sandbox Code Playgroud)

而另一个类是这样的:

作用:

class Role {
    String roleName
    String privilege
    static hasMany = [ user : User ]
        static constraints = {  
        privilege(nullable:true)
        roleName(unique:true)
        }
    String toString() {
        this.roleName
    }
}
Run Code Online (Sandbox Code Playgroud)

我写了一个像这样的集成测试:

            def user1 = new …
Run Code Online (Sandbox Code Playgroud)

grails groovy hibernate exception

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

在java 8中拆分和循环

我有这个问题,我想在java 8中解决,

我有一个串联的字符串 .

A.B.C.D
Run Code Online (Sandbox Code Playgroud)

字符串中的字符数可以变化.

我有这个方法,它将字符串作为输入和它必须去的级别深度,我必须遍历我在使用"."对字符串应用拆分后得到的数字.并且只是给予深度

private String getResponse (String str, int level) {
// for now, simply print the entire string first and then start removing last alphabet of it one by one till the value of level
// ex : str = A.B.C.D
// System.out.println("Doing a call with key as = " + str); => should give me A.B.C.D
// Apply logic of split 
// System.out.println("Doing a call with key as = " + str); => should …
Run Code Online (Sandbox Code Playgroud)

java split java-8

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

网址重写 - 这是否会导致安全问题?

嗨,我最近阅读了JSP并遇到了它的技术,主要是会话.在会话中,我读取URL重写已经完成的方法之一,以维持与客户端的会话.但是,由于URL重写会使用会话ID更改URL,因此客户端可以看到它.这不是安全问题吗?让我们举个例子说,如果任何一个注意到这个会话ID除了特定用户,并且可以很好地利用它?或者有防止这些的技术?

如果我错了,请纠正我.

security session jsp

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

什么是渴望获取和懒惰取物的基因?

我是Grails的新手,我遇到了Eager和懒惰的名字.它们实际上是什么?如果答案解释何时应该使用这些技术,那将是非常好的?

提前致谢.

grails groovy

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

如何对递归函数进行基准测试?

我正在使用GBench.对于常规方法基准测试,它非常酷.现在我想要的是对Recursive函数进行基准测试.

让我们说:

def recursive() {
  //do something
  return recursive()
}
Run Code Online (Sandbox Code Playgroud)

对于这个功能,我需要做Benchmark.添加@Benchmark方法顶部为每个递归调用提供基准.但我想要的是获得整个recursive方法的Benchmark .

有可能吗?

benchmarking groovy

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

什么是环境变量的主要需求?

您好,我们一直在安装多种语言,因此设置环境变量的主要需求是什么.有什么需要?安装是否设置不能(如果是java)?为什么这样?

installation

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

实际上这行代码`ptr =(char*)&a;`有用吗?

我有代码:

#include<stdio.h>
void main(){
   int i;
   float a=5.2;
   char *ptr;
   ptr=(char *)&a;
   for(i=0;i<=3;i++)
      printf("%d ",*ptr++);
}
Run Code Online (Sandbox Code Playgroud)

我把输出作为102 102 -90 64.我无法预测它是怎么来的,我对这条线感到困惑ptr=(char *)&a;.任何人都可以解释一下它的作用吗?和其他变量一样,代码会*ptr++增加吗?或者对于这种情况有指针的任何其他规则.

我是C的新手,所以用简单的术语解释答案.提前致谢.

c

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

多次调用main函数是C中的一个好习惯吗?

我看到了这样的C代码:

#include <stdio.h>

void main  ()
{
    static int ivar = 5;
    printf ("%d", ivar--);

    if (ivar)
        main ();
}
Run Code Online (Sandbox Code Playgroud)

哪个输出:

54321
Run Code Online (Sandbox Code Playgroud)

我是C的新手,我想在条件失败之前,这个main 方法会一次又一次地被调用.由于我是C的新手,main在上述情况下多次调用函数是不错的做法?有没有真实世界的案例,这种代码非常有用?

提前致谢.

c

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