小编Mic*_*ael的帖子

使用正则表达式进行SSN屏蔽

我试图掩盖"123-12-1234"到"XXX-XX-1234"的SSN.我能够使用下面的代码.

string input = " 123-12-1234  123-11-1235 ";

Match m = Regex.Match(input, @"((?:\d{3})-(?:\d{2})-(?<token>\d{4}))");

while (m.Success)
{
    if (m.Groups["token"].Length > 0)
    {
        input = input.Replace(m.Groups[0].Value,"XXX-XX-"+ m.Groups["token"].Value);
    }
    m = m.NextMatch();
}
Run Code Online (Sandbox Code Playgroud)

有没有更好的方法使用Regex.Replace方法在一行中完成它.

regex

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

Java中的感叹号是什么意思?

我想确认!=控制语句中布尔表达式之前的含义是否相反:

例如:

if (!networkConnected()) 
Run Code Online (Sandbox Code Playgroud)

这是否意味着"如果网络没有连接"?

java

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

EditText社会安全号码

我正在为加州的android开发一个应用程序.现在我想以xxx-xx-xxxx格式输入编辑文本中的社会安全号码.我已经尝试使用以下代码来实现功能,但它不能正常清除文本..以下是我的代码.任何帮助,将不胜感激.我想要自动格式化功能.

etSocialSecurityNumber.addTextChangedListener(new TextWatcher() {

        @Override
        public void onTextChanged(CharSequence s, int start, int before, int count) {
            String text = etSocialSecurityNumber.getText().toString();
            textlength = etSocialSecurityNumber.getText().length();

            if(text.endsWith(" "))          
                return;


            if(textlength == 4 || textlength == 7 )
            {
                etSocialSecurityNumber.setText(new    StringBuilder(text).insert(text.length()-1, "-").toString());
                    etSocialSecurityNumber.setSelection(etSocialSecurityNumber.getText().length());
            }

        }

        @Override
        public void beforeTextChanged(CharSequence s, int start, int count, int after)    {

        }

        @Override
        public void afterTextChanged(Editable s) {

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

android android-edittext

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

是一个只更新Scala中单个var线程安全的类实例吗?

我需要在多线程环境中在Scala中缓存一些东西.

阅读scalaz,Memo我在不可变哈希映射备忘录的代码中找到了以下注释:

由于此备忘录使用单个var,因此它是线程安全的.

代码如下所示:

  def immutableMapMemo[K, V](m: Map[K, V]): Memo[K, V] = {
    var a = m

    memo[K, V](f =>
      k => {
        a get k getOrElse {
          val v = f(k)
          a = a updated (k, v)
          v
        }
      })
  }
Run Code Online (Sandbox Code Playgroud)

说这是线程安全的,与我到目前为止所阅读和学到的关于JVM平台上的线程安全的内容相反; 参考更新可能是原子的,但正如我所理解的那样,如果您没有内存屏障,编译器可能会尝试进行某些优化来扰乱发生在之前的关系.例如,请参阅此帖此内容.

但我确信那些scalaz人非常聪明.也许有关于范围的特别之处a.

评论声称是真的,如果是,为什么?

scala hashmap memoization thread-safety scalaz

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

如何在备忘录中编辑文字?

我想使用过程Delete(Memo.Text,index,count)(或类似的Insert).但我收到消息'常量对象不能作为var参数传递'.我知道我可以选择文本并使用这个程序与Seltext.但这种方式有点不舒服.还有什么比这更容易了

delphi text lines tmemo

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

使用泛型编译失败?

我写了以下代码,它的工作原理非常好.问题是当我将类更改A为Generics时,A<T>它无法编译.

public class A {
    class B {
    }

    static void m(B i) {
    }

    static class C extends B {
        C() {
            new A().super();
        }

    }
}
Run Code Online (Sandbox Code Playgroud)

当我更改AA<T>编译失败并出现以下错误B.

无法对非静态类型B进行静态引用

public class A<T> {
    class B {
    }

    static void m(B i) {
    }

    static class C extends B {
        C() {
            new A().super();
        }
    }
}
Run Code Online (Sandbox Code Playgroud)

有人可以告诉我为什么它在第一种情况下工作正常并且第二次失败

java generics core

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

为什么以下代码不为变量创建新值?

class Cube{
    int side;
    int area = side * side;
}

public class Chronos{
    public static void main(String[]args) {
        Cube a = new Cube();
        a.side = 2;
        System.out.println(a.area);
    }
}
Run Code Online (Sandbox Code Playgroud)

我的问题是为什么它输出"0"而不是将给定变量乘以 a.side=2它自己并给出a.area=4.我的思维过程是,它会看到打印的命令a.area,检查Cube并看到它a.side本身已经确定的倍增.

java

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

这个Gosu代码中的反斜杠是做什么的?

我对Gosu不太了解,所以这段代码使我感到困惑。我已经用谷歌搜索,等等,但是都无济于事。此代码段中的反斜杠是做什么的?

GET_STUFF.execute(\ -> {
      var gig = withPackagedGig(request.id, request.signature, \ k -> {
        k.addItem("Log_RetrievedGig");
        return k;
      });
      myObj = toObj(gig);
    })
Run Code Online (Sandbox Code Playgroud)

jvm gosu

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

是否存在表示 instanceof 运算符的现有谓词?

我正在使用 Java 8 的 lambda 表达式来分区列表(使用.collect(Collectors.partitioningBy(...))),我需要我的分区标准是元素是否是给定类的实例。

做如下工作

list.stream().collect(Collectors.partitioningBy(elt -> elt instanceof EltType))
Run Code Online (Sandbox Code Playgroud)

但是是否存在InstanceOf可以通过方法引用使用的现有“ ”谓词?

java java-8

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

有没有办法使用带有继承的记录?

我有一堆@Data使用 Lombok的类,我想迁移所有类以使用 Java 14 中提供的新 Record 功能。

我知道这有点早,但这是我正在做的实验测试。

这里的主要问题是涉及继承。我有一个 B 类,它扩展了一个 A 类。有没有办法使用带有继承的 Records?

java record

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