小编VH-*_*NZZ的帖子

Make String.format("%s",arg)显示空值参数与"null"不同

考虑toString()bean 的自定义实现:

@Override
public String toString() {
    String.format("this is %s", this.someField);
}
Run Code Online (Sandbox Code Playgroud)

this is null如果someField为null,则产生if .

有没有办法将null空值参数的默认字符串表示形式覆盖到另一个文本,即? 没有replaceAll(...)toString方法中显式调用?

注意:bean继承自可以实现的超类Formattable(http://docs.oracle.com/javase/7/docs/api/java/util/Formattable.html),但我似乎并不理解如何制作这项工作.

编辑:为了举例,该片段被过度简化,但我不是在寻找三元运算符解决方案,someField==null ? "?" : someField因为:

  • 可能(可能)涉及很多领域,toString()因此检查所有字段过于繁琐且不流畅.
  • 我无法控制的其他人(如果有的话)正在编写他们自己的子类.
  • 如果一个方法被调用并返回null,则暗示调用该方法两次或声明一个局部变量.

相反,可以使用Formattable界面或有一些自定义Formatter(这是final顺便说一句)完成任何事情?

java string null string.format string-formatting

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

在 iOS 15 Safari 中禁用下拉刷新

iOS 15 已经发布,新版 Safari 也随之发布,带来了无处不在的下拉刷新功能。不管你喜欢与否,单页应用程序不太喜欢这样。

以下是在 iPhone 版 Chrome 上禁用它的方法:

在 iPhone 上禁用 Chrome 的下拉刷新功能

知道如何在 iOS 15 的 Safari 中执行相同操作吗?

CSSoverscroll-behavior-y: contain没有任何效果。

safari mobile-safari ios pull-to-refresh ios15

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

XSLT自关闭标签问题

我正在使用xslt将xml文件转换为html..net xslt引擎不断为空标签提供自动关闭标签.

例:

<div class="test"></div> 
Run Code Online (Sandbox Code Playgroud)

<div class="test" />
Run Code Online (Sandbox Code Playgroud)

前者是有效的html,而后者是非法的HTML并且呈现得很糟糕.我的问题是:如何告诉xslt引擎(XslCompiledTransform)不使用自闭标签.

如果不可能,我怎么能告诉我的浏览器(在这种情况下是IE6 +)正确解释自动关闭标签.

.net tags xslt xslcompiledtransform

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

如何在Tomcat上的Web应用程序中提供静态文件

我在eclipse中有这个基于servlet的web应用程序项目,想要附加一些html标签<script src="Chart.js">.

文件夹结构是:

  • C:/apache-tomcat-7.0.53/
  • 我的工作区位于D:/../../ workplace/CpdApplication/src/cpd/MyServlet.java
  • cpd包含:MyServlet.java,Chart.js和其他文件.
  • CpdApplication /的WebContent/META-INF/web.xml文件

我有一些路径问题,我无法解决它们,我一遍又一遍地搜索,仍然没有工作,我得到了404(未找到)http://localhost:8080/CpdApplication/Chart.js.

问题是当我想追加时<script src='Chart.js'></script>,Tomcat无法解析Chart.js静态文件.

java tomcat servlets

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

tomcat和树脂的区别?

我想知道Tomcat容器和Resin容器之间有什么区别

java resin tomcat

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

getter 是否应该返回对象实例的副本以避免副作用?

我想从一个类的函数返回一个值。

在我的课堂上:

public class MyClass {
   private Color color_ = new Color(0f, 0f, 0f, 1f);

   public Color getColor(){
      return this.color_;
   }
}
Run Code Online (Sandbox Code Playgroud)

所以,在我的另一个班级,我打电话

this.someOtherColorInOtherClass_=myClass.getColor();
Run Code Online (Sandbox Code Playgroud)

如果里面myClasscolor_变化,虽然,颜色someOtherColorInOtherClass_也会发生变化。

我认为这是因为在 Java 中一切都是指针。所以基本上我的 getter 函数返回一个指向 Color 的指针,因此它们都指向相同的内存位置,从而更改相同的变量。

在我的 getter 函数中,我可以做到

return new Color(this.color_);
Run Code Online (Sandbox Code Playgroud)

一切正常,因为我现在有一个新的指针可以使用。

这个问题有更好的解决方案吗?

java getter

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

Haskell中的exp x和类型签名

exp'在GHCi中定义了自定义取幂函数:

let exp' x = sum $ take 100 [(x**k) / factorial k | k <- [0..]]
Run Code Online (Sandbox Code Playgroud)

产生以下类型签名:

#> :t exp'
exp' :: (Enum a, Floating a) => a -> a
Run Code Online (Sandbox Code Playgroud)

但是,我原以为它与exp函数的匹配,即

#> :t exp
exp :: Floating a => a -> a
Run Code Online (Sandbox Code Playgroud)

任何人都可以解释Enum a => a我的exp'函数的类型约束吗?为什么不呢Floating a => a

谢谢.

haskell ghc ghci

4
推荐指数
1
解决办法
626
查看次数

Tomcat 7服务器不会加载类:ClassNotFoundException

    SEVERE: A child container failed during start
    java.util.concurrent.ExecutionException: org.apache.catalina.LifecycleException: Failed to start component [StandardEngine[Catalina].StandardHost[localhost].StandardContext[/Employee_12_30_AngularJS]]
at java.util.concurrent.FutureTask.report(Unknown Source)
at java.util.concurrent.FutureTask.get(Unknown Source)
at org.apache.catalina.core.ContainerBase.startInternal(ContainerBase.java:1123)
at org.apache.catalina.core.StandardHost.startInternal(StandardHost.java:800)
at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:150)
at org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1559)
at org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1549)
at java.util.concurrent.FutureTask.run(Unknown Source)
at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
at java.lang.Thread.run(Unknown Source)
    Caused by: org.apache.catalina.LifecycleException: Failed to start component [StandardEngine[Catalina].StandardHost[localhost].StandardContext[/Employee_12_30_AngularJS]]
at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:154)
... 6 more
Caused by: java.lang.NoClassDefFoundError: net/sf/json/JSONException
at java.lang.Class.getDeclaredFields0(Native Method)
at java.lang.Class.privateGetDeclaredFields(Unknown Source)
at java.lang.Class.getDeclaredFields(Unknown Source)
at org.apache.catalina.util.Introspection.getDeclaredFields(Introspection.java:87)
at org.apache.catalina.startup.WebAnnotationSet.loadFieldsAnnotation(WebAnnotationSet.java:261)
at org.apache.catalina.startup.WebAnnotationSet.loadApplicationServletAnnotations(WebAnnotationSet.java:140)
at org.apache.catalina.startup.WebAnnotationSet.loadApplicationAnnotations(WebAnnotationSet.java:67)
at org.apache.catalina.startup.ContextConfig.applicationAnnotationsConfig(ContextConfig.java:405)
at org.apache.catalina.startup.ContextConfig.configureStart(ContextConfig.java:881) …
Run Code Online (Sandbox Code Playgroud)

java eclipse json tomcat

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

如何根据键集获得两个映射的差异?

我有两张地图:

Map<String, Sample> newMap = convertJSONObjectToSampleMap(newMapStr);
Map<String, Sample> oldMap = convertJSONObjectToSampleMap(oldMapStr);
Run Code Online (Sandbox Code Playgroud)

Sample是一些自定义类

newMap有键:[1,2,3,4,5]oldMap具有键:[2,3,4,5,8]

什么是获得它们之间差异的最佳方式,.e,Sample用键获得:18

我想用Collections并提取Set<>:

Set<String> newSet = newMap.keySet();
Set<String> oldSet = oldMap.keySet();
Run Code Online (Sandbox Code Playgroud)

谢谢,

java collections map set-difference

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

Haskell中两个累积和(cumsum)函数的复杂性

考虑以下两个累积和(cumsum)函数:

cumsum :: Num a => [a] -> [a]
cumsum [] = []
cumsum [x] = [x]
cumsum (x:y:ys) = x : (cumsum $ (x+y) : ys)
Run Code Online (Sandbox Code Playgroud)

cumsum' :: Num a => [a] -> [a]
cumsum' x = [sum $ take k x | k <- [1..length x]]
Run Code Online (Sandbox Code Playgroud)

当然,我更喜欢的定义cumsum到的cumsum',我知道,前者具有线性复杂度.

但为什么cumsum'还有线性复杂性呢?take本身具有线性复杂性在其参数的长度和k从运行1length x.因此,我预计二次复杂度为 cumsum'.

而且,常数cumsum'低于cumsum.这是由于后者的递归列表附加吗?

注意:欢迎任何累积金额的明智定义.

编辑:我正在测量执行时间(:set +s …

complexity-theory haskell ghci cumulative-sum

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