我认为,我认为"Bean"是一个带有属性和getter/setter的Java类.据我所知,它相当于C结构.真的吗?
另外,bean和普通类之间是否存在真正的语法差异?有没有特殊的定义或界面?
基本上,为什么会有这个术语呢?
编辑:如果您能够如此友善并添加有关Serializable界面的信息,以及它的含义,那么对您的回答,我将非常感激.
我正在学习GoF Java设计模式,我想看看它们的一些真实例子.Java核心库中这些设计模式的一些很好的例子是什么?
{{ ... }}Java中的Double Brace初始化语法()是什么?
很像是如何ImmutableList扩展这样的:
ImmutableList<Long> originalList = ImmutableList.of(1, 2, 3);
ImmutableList<Long> extendedList = Iterables.concat(originalList, ImmutableList.of(4, 5));
Run Code Online (Sandbox Code Playgroud)
如果我有现有地图,我该如何扩展它(或创建一个包含替换值的新副本)?
ImmutableMap<String, Long> oldPrices = ImmutableMap.of("banana", 4, "apple", 7);
ImmutableMap<String, Long> newPrices = … // Increase apple prices, leave others.
// => { "banana": 4, "apple": 9 }
Run Code Online (Sandbox Code Playgroud)
(让我们不寻求有效的解决方案,因为显然设计不存在这个问题.这个问题反而寻求最惯用的解决方案.)
我是Java的基础,因为我是全职的C#开发人员,但我需要在Android中制作一些私人项目.
在C#中我可以这样做:
public class Test
{
public string A {get;set;}
public OtherClass B {get;set;}
}
public OtherClass ()
{
string Some {get;set;}
string Again {get;set;}
}
Run Code Online (Sandbox Code Playgroud)
现在,当我想使用类测试时,我可以执行以下代码:
var test = new Test
{
A = "test",
B = new OtherClass
{
Some = "Some",
Again = "Again"
}
};
Run Code Online (Sandbox Code Playgroud)
感谢现在我已经以明确的方式初始化了测试.
当我想在Java中执行此操作时,我必须使代码如下:
public class Test
{
private string A;
public string GetA()
{
return A;
}
public void SetA(string a)
{
A = a;
}
privte OtherClass B;
public OtherClass GetB() …Run Code Online (Sandbox Code Playgroud) java ×5
c# ×1
class ×1
code-cleanup ×1
guava ×1
java-api ×1
javabeans ×1
oop ×1
serializable ×1