小编Eug*_*neP的帖子

一步检查字符串的空值和空白

我有一个setter方法.

然后当运行另一个(比如生成)方法时,我需要检查我的字段的值.所以在String属性的情况下,我需要知道它是否包含值或者是否未设置.所以它可能是null,""或有意义的东西,有3种可能性.首先检查空值是否相当无聊:

if (s != null)
Run Code Online (Sandbox Code Playgroud)

然后换一个空字符串

if (!s.isEmpty())
Run Code Online (Sandbox Code Playgroud)

这里有一步检查吗?你可以告诉我,我可以使用空String初始化我的String字段.[这是常见的吗?]但是如果有人将null值传递给setter方法setS呢?那么在对该对象做某事之前,我们总是要检查Object值是否为null?

好吧,是的,setter方法可以检查它的值,如果字段为null,getter方法也可以返回非null值.但它是唯一的解决方案吗?对于程序员来说,在getter和setter中做太多工作了!

java string

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

什么是初始化的java对象字段?

它是nullObject类型?

class C {
    int i;
    String s;
    public C() {}
}
Run Code Online (Sandbox Code Playgroud)

s永远null吗?

简单类型怎么样int?那会是什么?零或任意值?

方法中的局部变量怎么样?

public void meth() {
    int i;
}
Run Code Online (Sandbox Code Playgroud)

什么是酉值i


然而,依赖于这样的默认值通常被认为是糟糕的编程风格.

好的,你建议我们做什么?

class A {
    String s = "";
    int i = 0;
}
Run Code Online (Sandbox Code Playgroud)

要么:

class A {
    String s;
    int i;
    public A() {
        // default constructor
        s = "";
        i = 0;
    }
}
Run Code Online (Sandbox Code Playgroud)

哪个更好?为什么?

java initialization

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

构建一个修复拼写错误的自然语言模型

什么是关于如何构建这样的自然语言解析程序的书籍:

input: I got to TALL you
output: I got to TELL you

input: Big RAT box
output: Big RED box

in: hoo un thum zend three
out: one thousand three

它必须具有允许预测哪些单词拼写错误的语言模型!

关于如何构建这样一个工具的最佳书籍是什么?

ps有免费的网络服务进行拼写检查吗?来自Google可能吗?..

java parsing nlp linguistics

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

您使用什么工具来规划和绘制数据库结构=表,关系

建模工具或仅用于绘图的可视化工具.实际上我只需要绘制,然后我会手动将图片转换为sql以更好地控制过程.

database database-design modeling

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

在servlet(Web应用程序)中,我如何知道相对路径?

我在.war文件的根目录中有一个jsp文件.然后我有一个名为STUFF的文件夹.

如何访问STUFF中的read.txt文件?

/Name_of_war/STUFF/read.txt是正确的路径?

java servlets

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

如何区分日志文件中的log4j会话与同一个Web应用程序的副本?

只有一个文件.它是在Web应用程序副本运行时同时编写的.

如何仅从其他日志行过滤一个会话日志消息?

java logging log4j

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

java email提取正则表达式?

我想要一个正则表达式,它将从String中提取电子邮件地址(使用Java正则表达式).

这确实有效.

java regex email-validation

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

DAO,Spring和Hibernate

如果出现任何问题,请纠正我.

现在,当我们使用Spring DAO作为ORM模板时,当我们使用@Transactional属性时,当在外部调用方法时,我们无法控制事务和/或会话,而不是在方法中.

延迟加载可节省资源 - 减少对数据库的查询,减少内存以保留应用程序内存中的所有集合.

因此,如果lazy = false,那么如果链接集中有10,000条记录,那么所有相关集合都将被提取,而这些集合并不是有效的.

现在,我在DAO类中有一个方法,它应该返回一个User对象.它具有表示数据库的链接表的集合.我需要通过id获取一个对象,然后查询它的集合.

当我尝试访问此DAO方法返回的链接集合时,Hibernate"未能懒惰地初始化集合"异常发生.

请解释一下,这里的解决方法是什么?

更新:好的,我来问你这个问题.DAO是一个抽象层,因此方法"getUserById(Integer id)"应该返回一个Object.

如果在某些情况下我需要User对象的这些链接集合,而在其他情况下我需要这些集合.

是否只有两种方法:1)延迟加载=假2)创建不同的方法:getUserByIdWithTheseCollections(),getUserByIdWithOtherCollections()并在这些方法中使用你的方法?

我的意思是只有两种方式而且没有更好的方法吗?

更新2:请解释一下,什么会让我明确使用SESSIONFACTORY?它在实践中看起来如何?我们创建一个DAO对象的实例,然后用会话工厂注入它,这意味着对DAO的两个后续方法调用将在同一个事务中运行?在我看来,无论如何,DAO与使用它的类分开了!

逻辑和事务封装在DAO中,对吧?

java spring dao hibernate

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

将对象复制到另一个

有没有通用的方法来实现将现有对象复制到另一个对象?

假设MyObj有一个idname字段.像这样:

MyObj myObj_1 = new MyObj(1, "Name 1");
MyObj myObj_2 = new MyObj(2, "Name 2");
Run Code Online (Sandbox Code Playgroud)

代替

myObj_2.setName(myObj_1.getName()) // etc for each field
Run Code Online (Sandbox Code Playgroud)

做一些如下事情:

myObj_2.copyFrom(myObj_1)
Run Code Online (Sandbox Code Playgroud)

这样它们就是不同的实例,但具有相同的属性.

java

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

从二进制文件中读取结构化数据 - ?

我知道文件结构,假设这个结构是这样的:

[3-bytes long int],[1-byte long unsigned integer],[4-bytes long unsigned integer]
Run Code Online (Sandbox Code Playgroud)

因此该文件包含此类记录的链.

在Java中解析这样一个文件最优雅的方法是什么?

据说,我们可以定义一个总长度的byte []数组并用InputStream读取它,但是如何将它的子元素转换成正确的整数值呢?

首先,java中的字节值是有符号的,在我们的例子中我们需要无符号值.接下来,有没有有用的方法允许将字节的子数组(例如,从1-st到4的字节转换为正确的整数值)?

我知道,Perl中有函数pack和unpack,允许你将一个字节字符串表示为表达式,假设"VV"表示2个无符号long int值.您定义了这样一个字符串,并将其作为packunpack函数的参数以及要打包/解包的字节提供.Java/Apache库等中有这样的东西吗?

java file-io parsing

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