java - 这段代码在java中是什么意思,他使用的是设计模式吗

标签 java

我找到了代码,我是 java 初学者,

代码:

map.addMarker(new MarkerOptions()
                .position(new LatLng(10, 10))
                .title("Hello world")

我所知道的是,当我们用参数实例化一个对象时,我们会这样做:

MarkerOptions markerOptions= new MarkerOptions(23, 94);

最佳答案

欢迎使用 stack oveflow。

基本上,将函数分解一下:

map.addMarker(new MarkerOptions()
            .position(new LatLng(10, 10))
            .title("Hello world")

等同于:

MarkerOptions someOptions = new MarkerOptions();

LatLng location = new LatLng(10, 10);
someOptions.position(location)
someOptions.title("Hello World");

map.addMarker(someoptions);

当您是一名新程序员时,像这样分解它可以让您轻松检查(通过调试器或打印)各种元素。

这里的设计模式基本上是代码使用了一种构建器模式系统:而不是采用 map.addMarker 采用大量可选或覆盖变体,它采用“选项”对象,您可以提前创建它,也可以即时创建它(如此处)。这样选项对象可以有大量的默认参数,你只设置你现在关心的那些。

当您要做很多事情时,在一行中完成可能使经过合理培训的开发人员的代码更具可读性,但是当您刚开始时,它可能会更加困惑。

关于java - 这段代码在java中是什么意思,他使用的是设计模式吗,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47573122/

相关文章:

java - android 应用程序/Activity 生命周期 : when should we save to flash?

java - Eclipse/GGTS 在 Mac OS X 上与 Java 7 崩溃?

java - 竞争条件虽然使用事务

Java MapReduce 作业计算百分比

java - 使用java写入网页

java - 配置 Glassfish 3.0 以便在 Mac OS 上使用 NetBeans 进行概要分析

java - 如何使用资源路径访问 jar 的内容?

java - 如何使用java正则表达式替换字符串

java - 如何在 Maven 中安装特定包的两个不同版本?

java - 在 java 中重写父类(super class)的父类(super class)中的方法?