gpt4 book ai didi

java - 为类提供输入参数有意义吗?

转载 作者:行者123 更新时间:2023-11-30 07:35:08 24 4
gpt4 key购买 nike

我创建了一个 DocumentFilter 类型的类,如下所示:

public class CustomDocumentFilter extends DocumentFilter
{
private StyledDocument styledDocument;
private JTextPane panetxt;

public CustomDocumentFilter(JTextPane panetxt) {
this.panetxt = panetxt; // Not really necessary
this.styledDocument = panetxt.getStyledDocument();
}

private final StyleContext styleContext = StyleContext.getDefaultStyleContext();

Pattern pattern = buildPattern(mystring);



private Pattern buildPattern(String mystring)
{
StringBuilder sb = new StringBuilder();
String[] toke = StringUtils.split(mystring,",");

for (String token : toke) {
sb.append("\\b");
sb.append(token);
}
if (sb.length() > 0) {
sb.deleteCharAt(sb.length() - 1);
}

Pattern p = Pattern.compile(sb.toString());

return p;
}

我的问题是:如何在 CustomDocumentFilter 的调用中包含 mystring?:

//String mystring="lalala";
((AbstractDocument) editeur.getDocument()).setDocumentFilter(new CustomDocumentFilter(editeur));

编辑:

关于乔纳森建议的第一种方式,我明白了:

error: cannot find symbol Pattern pattern = buildPattern(mystring); ^ symbol: variable mystring location: class TextEditor.CustomDocumentFilter 

不知道是否与Pattern子句有关

最佳答案

不能 100% 确定描述中所需要的内容。但我认为您只是想询问如何将本地字符串值放入新的 CustomDocumentFilter 对象中。

嗯,这很简单,你有选择!比我在这里展示的两个还要多。第一个简单的方法是将其添加到构造函数中

public CustomDocumentFilter(JTextPane panetxt, String myString) {
...
pattern = buildPattern(mystring);
}

((AbstractDocument) editeur.getDocument()).setDocumentFilter(new CustomDocumentFilter(editeur, myString));

另一种方法是使用返回对象的方法

public CustomDocumentFilter myFunction(String myString) {
pattern = buildPattern(mystring);
return this;
}

((AbstractDocument) editeur.getDocument()).setDocumentFilter(new CustomDocumentFilter(editeur).myFunction(myString));

关于java - 为类提供输入参数有意义吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35507393/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com