小编Cra*_*uin的帖子

Java布尔包装器类如何实例化?

在java中,我可以编写这样的代码

Boolean b = true ;
Run Code Online (Sandbox Code Playgroud)

它会奏效.我现在有一个保持值为"true"的对象.

这是如何运作的?为什么我不必通过构造函数传递值?像这样:

Boolean b = new Boolean( true ) ;
Run Code Online (Sandbox Code Playgroud)

另外,我可以制作可以以类似方式实例化的自定义类吗?如果是这样的话叫什么?

这样我就可以这样做:

Foobar foobar = "Test" ; 
Run Code Online (Sandbox Code Playgroud)

因此有我自己的包装类.

谢谢

java autoboxing instantiation

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

程序执行是非顺序的.为什么?

我在如何设置封装时无所事事.

但我的程序正在以意想不到的顺序执行.这是我相当简单的代码:

主要的":

package research.debug;

public class Main {

public static void main(String[] args) {

    Boolean b = Boolean.TRUE ;      

    Debug.black.printVariable( b, "b" ) ;
    Debug.red.printVariable( b, "b" ) ;

    System.out.println( "SUPPOSED to be inbetween..." ) ;

    Debug.black.println( "Hello" ) ;
    Debug.red.println( "Howdie" ) ;

}

}
Run Code Online (Sandbox Code Playgroud)

"调试":

package research.debug;

public class Debug {

public static final Output black = new Output( Output.BLACK ) ;
public static final Output red = new Output( Output.RED ) ;

}
Run Code Online (Sandbox Code Playgroud)

最后,"输出":

package research.debug; …
Run Code Online (Sandbox Code Playgroud)

java encapsulation

8
推荐指数
2
解决办法
656
查看次数

从shell脚本运行awk文件而不指定awk的确切位置

我正在尝试调试调用awk文件的shell脚本. 这是一场噩梦,因为我之前从未使用过,也不是我对linux非常流利,但无论如何

一个dev创建了一个awk文件,并试图在shell脚本中运行它.

要尝试从单独的位置运行它,而不需要指定确切的位置,他们将awk脚本放在PATH变量中的文件夹中.所以awk文件应该随处可用,对吗?

当你像这样运行它...

awk -f script.awk arg1

...可以找到那个脚本吗?当shell脚本尝试运行该awk命令时,它会发出错误:

awk:致命:无法打开源文件`script.awk'进行阅读(没有这样的文件或目录)

linux shell awk

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

保护源代码部分

我正在编写一个连接到服务器并读取给定队列中的消息的Java类.

我想保护用户名和密码,它现在在源代码中显示为纯文本.

我想知道的是,有什么好办法呢?如果我在文本文件中加密用户名和密码,我是否需要以明文形式存储访问此文件的任何源代码中的密钥?然后决定使用我的班级的任何其他人都可以访问这些字段.

没有人可以输入密钥的提示,因为该类将由系统自动使用.

编辑:这将成为一个java lib文件.但那些很容易被反编译,因此基本上都是原始的类文件,对吧?并且受到保护的人是其他系统的开发人员,他们将获得对此lib文件的访问权限.

我的最终目标:是让用户名和密码字符串在任何地方都不显示为纯文本,并且尽可能难以破解.

java encryption

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

codeigniter提示n技巧

我有一个PHP网络项目,因为我的大学课程将在几天内完成.它的价值是我最终成绩的75%.老师给我们留下的方式如下:

到了截止日期,我们会在预定的时间与他见面并告诉他我们学到了什么.或多或少地讨论我们的成绩应该是什么.

这让我来到这里,因为他说我们用花哨的codeigniter方式做的事情越多,我们得到的分数就越多.

这是我的问题:

"关于codeigniter你有什么提示和技巧吗?你有什么想法,你希望从一开始就知道吗?" 代码片段,在线某处的指南等.

而且我的偏好是那些在学习时间上具有很高的印象深度.

php codeigniter

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

在SQL中要求列包含每个指定值的更好方法

想象一下,你有两张桌子,有一对多的关系.

对于这个例子,我建议有两个表:Person和Homes.人员表中包含人员姓名,并为其提供身份证明.家庭表,持有一个人的家庭协会.PID加入"Person.ID"

而且,在这个小小的数据库中,一个人可以没有家,也没有许多家.

在此输入图像描述

我希望我把它画好.

我怎样写一个选择,返回每个人每个指定的户型?

假设这些是homes表中有效的"类型":

小屋,主楼,大厦,太空港.

我想在Person表中返回所有人,他们有一个太空港一个小屋.

我能想出的最好的是:

SELECT DISTINCT( p.name ) AS name
FROM person p
    INNER JOIN homes h ON h.pid = p.id
WHERE 'spaceport' in (
    SELECT DISTINCT( type ) AS type
    FROM homes
    WHERE pid = p.id
)
AND 'cottage' in (
    SELECT DISTINCT( type ) AS type
    FROM homes
    WHERE pid = p.id
)
Run Code Online (Sandbox Code Playgroud)

当我写这篇文章时,它有效,但我很确定必须有更好的方法.

sql select one-to-many

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

如何避免对对象进行繁琐的空检查

如果我有一个类,我想接受一个可选的记录器来记录调试信息:

public class A {

private Logger logger ; 

public A( Logger logger ) { 
    this.logger = logger ; 
}

public A() { 
    this( null ) ;
}

public void hello() {
    logger.debug( "hello" ) ;
}

public void goodbye() {
    logger.warn( "goodbye" ) ; 
}

}
Run Code Online (Sandbox Code Playgroud)

有没有办法让我避免需要进行常量空值检查?

public void hello() {

    if( logger != null ) { 
        logger.debug( "hello" ) ;
    }

}

public void goodbye() {

    if( logger != null ) {
        logger.warn( "goodbye" ) ; 
    }

} …
Run Code Online (Sandbox Code Playgroud)

java null encapsulation

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

如何存储Java常量以用于构建键值组合

假设我想将这些键的潜在键和潜在值存储为常量.我怎样才能做到这一点?或者我应该完全避免它?

这是我自己想到的方法,但正如你将能够看到的那样,它有明显的垮台.

public static class Foo { 

    public static final String KEY = "foo" ; 

    public static class Values { 

        public static final String BAR = "bar" ; 
        public static final String HEY = "hey" ; 

    }

}

public static class Another { 

    public static final String KEY = "another" ; 

    public static class Values { 

        public static final String ONE = "1" ; 
        public static final String TWO = "two" ;
        public static final String THREE = "THREE" ; …
Run Code Online (Sandbox Code Playgroud)

java constants hashmap

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