我不太明白这一点。Microsoft Access 2000,在报告总计部分,我有三列的总计,它们只是数字。这些=Sum[(ThisColumn1)], 2, 3等等以及那些总计都工作得很好。
我想要另一篇专栏来说明=Sum([ThisColumn1])+Sum([ThisColumn2]) + Sum([ThisColumn3])但无法弄清楚这些内容。只是得到一个空白,所以我确定有一个错误。
在我的代码中,我正在构建一个 XML 请求。然而,这个简单的片段会产生一个错误:
def create_gateways_request
@request_xml = Nokogiri::XML::Builder.new(:encoding => 'UTF-8') do |xml|
xml.gateways(:ua => "#{@plugin_name} #{@version}") {
xml.merchant {
xml.account MSP['merchant']['account_id']
xml.site_id MSP['merchant']['site_id']
xml.site_secure_code MSP['merchant']['site_code']
}
xml.customer {
xml.country @customer[:country]
}
}
end
@request_xml.to_xml
end
Run Code Online (Sandbox Code Playgroud)
错误:
RuntimeError: Document already has a root node
from /Users/scriptdude/.rvm/gems/ruby-1.9.2-p290/gems/nokogiri-1.5.2/lib/nokogiri/xml/document.rb:212:in `add_child'
from /Users/scriptdude/.rvm/gems/ruby-1.9.2-p290/gems/nokogiri-1.5.2/lib/nokogiri/xml/node.rb:549:in `parent='
from /Users/scriptdude/.rvm/gems/ruby-1.9.2-p290/gems/nokogiri-1.5.2/lib/nokogiri/xml/builder.rb:371:in `insert'
from /Users/scriptdude/.rvm/gems/ruby-1.9.2-p290/gems/nokogiri-1.5.2/lib/nokogiri/xml/builder.rb:363:in `method_missing'
from (irb):146
from /Users/scriptdude/.rvm/gems/ruby-1.9.2-p290/gems/railties-3.1.3/lib/rails/commands/console.rb:45:in `start'
from /Users/scriptdude/.rvm/gems/ruby-1.9.2-p290/gems/railties-3.1.3/lib/rails/commands/console.rb:8:in `start'
from /Users/scriptdude/.rvm/gems/ruby-1.9.2-p290/gems/railties-3.1.3/lib/rails/commands.rb:40:in `<top (required)>'
from script/rails:6:in `require'
from script/rails:6:in `<main>'
Run Code Online (Sandbox Code Playgroud)
根节点是<gateways>,对吗?
我在这里做错了什么?
我正在阅读Effective java item# 2- Builder模式
http://www.informit.com/articles/article.aspx?p=1216151&seqNum=2
这里说的是java bean并不是创建多参数对象的有效方法。但是如果我这样有javabean怎么办:
// JavaBeans Pattern
public class NutritionFacts {
private final int servingSize ;
private final int servings ;
private final int calories;
private final int fat;
private final int sodium;
private final int carbohydrate;
public NutritionFacts() { }
// Setters
public void setServingSize(int val) { servingSize = val; }
public void setServings(int val) { servings = val; }
public void setCalories(int val) { calories = val; }
public void setFat(int val) { fat …Run Code Online (Sandbox Code Playgroud) 我HashMap<K,V>每个键都有一个默认值。
我想将它转换为一个ImmutableMap.Builder因为我有另一个ImmutableMap我想合并并覆盖到原始 HashMap 中。我想覆盖一些默认对并最终构建一个ImmutableMap.
如何将 转换HashMap为ImmutableMap.Builder?
我还没有看到ImmutableMap.Builder 构造函数获得HashMap.
我有两堂课,如下所述。我想创建两个class A.
我想从现有实例 obj1 创建实例 obj2,并将 a3 属性的更新值更改为"Java"。
我曾尝试使用Builder在下面一行,但它不起作用。
A obj2 = obj1.builder().a3("Java").build();
Run Code Online (Sandbox Code Playgroud)
我可以通过调用构造函数来做到这一点,但我Builder只想以模式来做到这一点。
@Builder
@Data
class A {
String a1;
String a2;
String a3;
B b;
A(String b1, String b2, String b3, B b) {
this.a1 = b1;
this.a2 = b2;
this.a3 = b3;
this.b = b;
}
}
@Builder
@Data
class B {
String b1;
String b2;
String b3;
B(String b1, String b2, String b3) {
this.b1 = b1;
this.b2 …Run Code Online (Sandbox Code Playgroud) 如下所述,我有两节课。我想创建两个class A.
我想从现有实例 obj1 创建实例 obj2,并将 a3 属性的更新值为"Java".
我曾尝试使用Builder在下面的行,但它不起作用。
A obj2 = obj1.builder().a3("Java").build();
Run Code Online (Sandbox Code Playgroud)
我可以通过调用构造函数来做到这一点,但我只想做Builder模式。
@Builder(toBuilder = true)
@Data
class A {
String a1;
String a2;
String a3;
B b;
A(String b1, String b2, String b3, B b) {
this.a1 = b1;
this.a2 = b2;
this.a3 = b3;
this.b = b;
}
}
@Builder
@Data
class B {
String b1;
String b2;
String b3;
B(String b1, String b2, String b3) {
this.b1 = …Run Code Online (Sandbox Code Playgroud) 我有以下带@Builder注释的类:
@Data
@Builder(access = AccessLevel.PUBLIC)
@Entity
public class LiteProduct
{
// Minimal information required by our application.
@Id
private Long id; // Unique
private String name;
private Long costInCents;
private String type;
// Model the product types as a Hash Set in case we end up with several
// and need fast retrieval.
public final static Set<String> PRODUCT_TYPES = new HashSet<>
(Arrays.asList("flower", "topical", "vaporizer", "edible", "pet"));
// Have to allow creation of products without args for Entities.
public …Run Code Online (Sandbox Code Playgroud) 考虑以下构建器模式的示例:
import java.util.Objects;
public class Vehicle {
private final String brand;
private final int wheels;
private final int doors;
private final int maxSpeed;
private Vehicle(Builder builder) {
this.brand = Objects.requireNonNull(builder.brand, "brand");
this.wheels = Objects.requireNonNull(builder.wheels, "wheels");
this.doors = Objects.requireNonNull(builder.doors, "doors");
this.maxSpeed = Objects.requireNonNull(builder.maxSpeed, "maxSpeed");
}
public static Builder builder() {
return new Builder();
}
public void display() {
System.out.println("brand = " + getBrand());
System.out.println("wheels = " + getWheels());
System.out.println("doors = " + getDoors());
System.out.println("maxSpeed = " + getMaxSpeed());
}
public String …Run Code Online (Sandbox Code Playgroud) 有没有办法将 Lombok@Builder与 Java 泛型一起使用?
@Builder
public class Response<T> {
private String status;
private long total;
private List<T> page;
}
Run Code Online (Sandbox Code Playgroud)
稍后在处理来自控制器的请求的服务中:
long total = getTotalItemsCount();
List<Article> page = getPage();
Response<Article> response =
Response.builder()
.status("ok")
.total(total)
.page(page); // error on this line
Run Code Online (Sandbox Code Playgroud)
无法调用page方法:
page(List<Object>)类型中的 方法Response.ResponseBuilder<Object>不适用于参数 (List<Article>)
有任何想法吗?
我有一个构建器模式,在该模式中,很可能所有参数都是必需的,因此我创建了一个长的构造函数,如下代码所示。
public final class ResponseHolder {
// all below six are related to response information
private final String response;
private final boolean isLinking;
private final TypeHold typeOfId;
private final long userTimeInMs;
private final long userLmdInDays;
private final String maskInfo;
// below two are related to error handling
private final ErrorCode error;
private final StatusCode status;
private ResponseHolder(Builder builder) {
this.response = builder.response;
this.isLinking = builder.isLinking;
this.typeOfId = builder.typeOfId;
this.userTimeInMs = builder.userTimeInMs;
this.userLmdInDays = builder.userLmdInDays;
this.maskInfo = builder.maskInfo;
this.error = builder.error; …Run Code Online (Sandbox Code Playgroud)