小编Don*_*oby的帖子

如何在java中创建FileFilter?

喜欢在标题中如何过滤到.txt文件?

我写了这样的东西,但它有错误:(

 private void jMenuItem1ActionPerformed(java.awt.event.ActionEvent evt) {                                           
        JFileChooser chooser = new JFileChooser();
        int retval = chooser.showOpenDialog(null);

        String yourpath = "E:\\Programy Java\\Projekt_SR1\\src\\project_sr1";
        File directory = new File(yourpath);
        String[] myFiles;
        FilenameFilter filter = new FilenameFilter() {
        public boolean accept(File directory, String fileName) {
            return fileName.endsWith(".txt");
        }
        };
        myFiles = directory.list(filter);


        if(retval == JFileChooser.APPROVE_OPTION)
        {
            File myFile = chooser.getSelectedFile();
        }
Run Code Online (Sandbox Code Playgroud)

java filefilter

39
推荐指数
4
解决办法
15万
查看次数

将Map [K,Option [V]]转换为Map [K,V]的更好方法

我有一些代码产生Map值是Option类型的地方,我当然想要一个只包含实际值的地图.

所以我需要转换它,我在代码中提出的是

  def toMap[K,V](input: Map[K, Option[V]]): Map[K, V] = {
    var result: Map[K, V] = Map()
    input.foreach({
      s: Tuple2[K, Option[V]] => {
        s match {
          case (key, Some(value)) => {
            result += ((key, value))
          }
          case _ => {
            // Don't add the None values
          }
        }
      }
    })
    result
  }
Run Code Online (Sandbox Code Playgroud)

哪个有效,但看起来不够优雅.我怀疑这个内置于我缺少的馆藏库中的东西.

是否有内置的东西,或更实用的方法来实现这一目标?

collections scala

19
推荐指数
3
解决办法
1044
查看次数

对具有不同参数的类使用工厂模式

我有一个非常简单的工厂,需要一个枚举作为它的一个参数,以确定应创建的对象的类型,并正在创建的所有对象的共有的其他参数.

当我为工厂添加更多类型来创建我的对象时,构造函数的参数开始变化,例如:

public class someFactory {
    public someFactory() {
    }

    public SomeObject newObject(Type type, Object data) {
        return this.newObject(type, data, "");
    }

    public SomeObject newObject(Type type, Object data, Object stringOrObject) {
        SomeObject someObject = null;

        if (type != null) {
             switch(type) {
                 case CREATE:
                     someObject = new CreateObject(data);
                     break;
                 case DELETE:
                     someObject = new DeleteObject(data, (String)stringOrObject);
                     break;
                 case EDIT:
                     someObject = new EditObject(data, (Object)stringOrObject);
                     break;
                 default:
                     break;
             }
        }

        return someObject;
    }
}
Run Code Online (Sandbox Code Playgroud)

我是不是应该使用工厂,只是使用正确的参数实例化不同的类型,或者可以以某种方式改进上述内容以使其更灵活?

java design-patterns factory factory-pattern

10
推荐指数
1
解决办法
4981
查看次数

Scala中的有界泛型(在Java中<E extends MyClass>)

我正在将应用程序从java迁移到Scala.在java中我有点喜欢

abstract class CommonObjectInfo{//...}
class ConcreteObject extends CommonObjectInfo{//...}

abstract class AbstractWrapper<E extends CommonObjectInfo>{//...} 
class ConcreteWrapper extends CommonObjectInfo<ConcreteObject>{//...} 
Run Code Online (Sandbox Code Playgroud)

我如何正式表达Scala中的"包装器"对象?一世

generics scala

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

Jersey JAXB如何为List实现MessageBodyWriter

我正在尝试为List实现MessageBodyWriter.使用此实现,我有一个空指针异常在线; marshaller.marshal(o,entityStream);

@Provider
@Produces(MediaType.APPLICATION_XML) 
public class MyListProvider implements MessageBodyWriter<List<Instrument>> {

    private String myWrapElemName = "datas";
    private Marshaller marshaller;


    public InstrumentModelListProvider(){

        JAXBContext context;
        try {
            context = JAXBContext.newInstance(Data.class);
             marshaller = context.createMarshaller();
             marshaller.setProperty(Marshaller.JAXB_FRAGMENT, true);
             marshaller.setProperty(Marshaller.JAXB_ENCODING, "UTF-8");
             //marshaller.setProperty(JMMarshallerImpl.JAXME_XML_DECLARATION, Boolean.TRUE);
             marshaller.setProperty(Marshaller.JAXB_FORMATTED_OUTPUT, Boolean.TRUE);
        } catch (JAXBException e) {
            System.err.println("/////////////"+e.getMessage());
            //e.printStackTrace();
        }

    }
    @Override
    public long getSize(List<Data> as, Class<?> type, Type genericType, Annotation[] annotations,
            MediaType mediaType) {

        return -1;
    }

    @Override
    public boolean isWriteable(Class<?> type, Type genericType, Annotation[] annotations,
            MediaType mediaType) {



        return MediaType.APPLICATION_XML_TYPE.equals(mediaType) 
                && List.class.isAssignableFrom(type) …
Run Code Online (Sandbox Code Playgroud)

java spring jax-rs jaxb jersey

7
推荐指数
1
解决办法
5017
查看次数

BASH SHELL SCRIPT将一个大的xml文件拆分成多个小文件

我有一个以下格式的XML文件

<?xml version="1.0" encoding="utf-8" ?>
<parent>
    <child>
        <code></code>
        <text></text>
    </child>
    <child>
        <code></code>
        <text></text>
    </child>
 </parent>
Run Code Online (Sandbox Code Playgroud)

我需要一个BASH SHELL脚本将这个主要的xml文件拆分成多个小的XML文件,这些文件应该包含<child>to </child>标签的内容.文件名可以是父文件名加上正在运行的序列号,例如_1,例如:20110721_1.xml等.请帮我编写脚本.

xml shell split file

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

注释中mappedBy属性的含义?

我是hibernate的新手.我试图在以下代码中创建Person和PersonDetail实体之间的一对一映射:

@Entity
public class Person {

    private int personId;
    private String personName;
    private PersonDetail personDetail;

    @OneToOne(mappedBy="person")
    public PersonDetail getPersonDetail() {
        return personDetail;
    }

    public void setPersonDetail(PersonDetail personDetail) {
        this.personDetail = personDetail;
    }

    @Id
    @GeneratedValue
    public int getPersonId() {
        return personId;
    }

    public void setPersonId(int personId) {
        this.personId = personId;
    }

    public String getPersonName() {
        return personName;
    }

    public void setPersonName(String personName) {
        this.personName = personName;
    }
}


@Entity
public class PersonDetail {

    private int personDetailId;
    private String zipCode;
    private String …
Run Code Online (Sandbox Code Playgroud)

hibernate jpa

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

什么是递归树?

在阅读有关合并排序的更多信息时,我遇到了递归树。什么是递归树?它们是否有助于解决递归问题?通过绘制递归树可以实现什么?谷歌没有帮助我。

sorting algorithm recursion

5
推荐指数
1
解决办法
165
查看次数

Java matcher.matches() 在应该为真时返回假

所以我遇到了一个问题,我需要检查字符串中简单的开始和结束 HTML 标签。我没有遇到任何问题的开始标签是当我试图找到我有问题的结束标签时。

private Pattern pattern;
private Matcher matcher;
private Pattern endPattern;
private Matcher endMatcher;

private static final String HTML_TAG_PATTERN = "<([a-zA-Z]+)>";
public boolean hasCorrectHTML(String checking)
{
    boolean ret=true;
    pattern=Pattern.compile(HTML_TAG_PATTERN);
    matcher=pattern.matcher(checking);

    while(matcher.find() && ret)
    {
        String htmlEndTag="</"+matcher.group(1)+">";

        endPattern=Pattern.compile(htmlEndTag);
        endMatcher=endPattern.matcher(checking.substring(matcher.end()));

        ret=endMatcher.matches();
    }

    return ret;
}
Run Code Online (Sandbox Code Playgroud)

在上面的代码中,我找到了某个东西的第一个标签,然后我继续找到了结束标签。我知道此设置将来会出现一些问题,这是一项正在进行中的工作。但是,对结束标记的检查不起作用。据我所知,我的逻辑是合理的。我正在使用任何标签并通过 . 然后我将它放入第二个模式,然后使用第二个匹配器检查匹配。我的文本字符串是“ <b>this test</b>”。它检测<b>得很好但是当我检查</b>它的匹配时总是返回false。我已经问过同龄人为什么会发生这种情况,但他们也不知所措。我不知道为什么会发生这种情况,有什么想法吗?我在这里缺少什么?

java regex matcher

5
推荐指数
2
解决办法
3355
查看次数

Luigi参数默认值和模拟

我试图模拟为luigi参数提供默认值的东西.

一个愚蠢的例子,展示了我正在努力实现的目标:

正在测试的任务:

import luigi
from bar import Bar

bar = Bar()

class Baz(luigi.Task):

    qux = luigi.Parameter(default=bar.bar())

    def baz(self):
        return self.qux;

    def foo(self):
        return bar.bar()
Run Code Online (Sandbox Code Playgroud)

单元测试代码:

import unittest
from mock import Mock, patch
from sut.baz import Baz

class TestMocking(unittest.TestCase):

    def test_baz_bar(self):
        self.assertEquals("bar", Baz().baz())

    @patch('sut.baz.bar')
    def test_patched_baz(self, mock_bar):
        mock_bar.bar = Mock(return_value="foo")
        self.assertEquals("foo", (Baz().baz()))

    @patch('sut.baz.bar')
    def test_patched_foo(self, mock_bar):
        mock_bar.bar = Mock(return_value="foo")
        self.assertEquals("foo", (Baz().foo()))
Run Code Online (Sandbox Code Playgroud)

似乎luigi.Parameter逻辑早于补丁发生.

在此示例中,test_patched_foo传递并test_patched_baz失败.所以补丁确实发生了,但是在luigi.Parameter(default=bar.bar())线路调用之后发生了.

是否有可能以这种方式模拟和修补调用的东西?

python unit-testing mocking luigi

5
推荐指数
1
解决办法
1830
查看次数