Struts1标记库中是否有可以格式化java.util.Date对象的标记?
在Struts 2中,我可以使用s:date标签,但我找不到Struts 1的等价物.
嘿那里,我有以下代码:
sVal = analogRead(potPin); // read the value from the sensor
valMin = min(sVal, 1);
valMax = max(sVal, 128);
constrain(sVal,valMin,valMax);
itoa(sVal, res, 10);
println(res);
println(" ");
delay(150);
clearScreen();
Run Code Online (Sandbox Code Playgroud)
现在由于某种原因,gLCD屏幕上的输出几乎总是1023.我希望电位器的最小值为1,最大值为128.
据我所知,事情如SortedMap或SortedSet使用compareTo(而不是equals上)Comparable<?>类型检查平等(contains,containsKey).
但是,如果某些类型在概念上是等同的,但不具有可比性呢?
(哈希码,内存地址,......)
我必须声明一个Comparator<?>并覆盖该方法int compareTo(T o1, To2).好的,我可以为被认为相等的实例返回0.但是,对于非实际情况,当订单不明显时我会返回什么?
使用SortedMap或SortedSet的方法是否相等,但(概念上)不可比的类型好吗?
谢谢!
编辑:
我不想存储已排序的东西,但我会使用"通常"的Map和Set,我无法"覆盖"相等行为.
编辑2:
为什么我不能覆盖equals(...):
我需要改变外来类的相等行为.我无法编辑它.
编辑3:
想想.NET:它们具有IEquatable接口,可以在不触及可比行为的情况下改变相等行为.
编辑4:
我不能只compareTo返回0表示相等,1表示不相等的实例吗?什么是大问题?我进行了一些测试,似乎SortedMap/SortedSet在一对实例上调用compareTo一次.是的,订单没有意义,但为什么它应该是我的问题呢?我不需要订单.*我只需要改变平等行为.可悲的是,大多数人都无法理解这一点.
注意:现在证明为非平等实例返回1的概念是错误的.
编辑5:
改变外国阶级的平等行为是一个坏主意吗?当然?我不这么认为:为什么我允许改变使用外国类的比较行为Comparator?
编辑6:
感谢Mark Peters和waxwing将密钥类型包装在自定义类中的想法.这样,我可以覆盖equals和hashCode,从而改变相等行为.
首先,我已经阅读了关于这个主题的帖子列表,并且由于我对封装和字段修饰符(private,public..ect)的了解,我不觉得我已经掌握了属性.
我学习的C#的一个主要方面是使用封装在代码中保护数据的重要性.我认为'我理解这是因为使用修饰符的能力(私人,公共,内部,受保护).然而,在了解了属性之后,我不仅理解了属性的使用,而且还理解了C#中数据保护(我理解为封装)的整体重要性/能力.
更具体地说,当我到达C#中的属性时,我读过的所有内容都是你应该尝试使用它们代替字段,因为:
1)当您直接直接访问字段时,它们允许您更改数据类型.
2)它们为数据访问增加了一定程度的保护
然而,根据我的想法,我已经了解了字段修饰符的使用#2,在我看来属性只是生成了额外的代码,除非你有一些理由改变类型(#1) - 因为你是(或多或少)创建隐藏方法来访问字段而不是直接访问.
然后可以将整个修饰符添加到属性中,这进一步使我对属性访问数据的需要的理解变得复杂.
我已经阅读了不同作者关于"属性"的一些章节,并且没有人真正解释过对属性与字段与封装(以及良好的编程方法)的良好理解.
有人能解释一下:
1)为什么我想要使用属性而不是字段(特别是当它出现时我只是添加额外的代码
2)在跟踪其他人的代码时,有关识别属性的使用以及不将它们视为简单方法(除了get; set明显)之外的任何提示吗?
3)任何关于何时使用什么的良好编程方法的一般经验法则?
感谢和抱歉这篇长篇文章 - 我不想只问一个问题100x而不解释为什么我再问它.
使用Javascript我需要找到添加iframe元素的最佳方法:
是否可以使用ReSharper标记foreach循环代码块并将其转换为for循环?
或者使用Visual Studio?
谢谢!
我喜欢坚持使用StyleCop的格式化规则来使代码变得更好和清晰,但我最近遇到了一个警告问题:
所有using指令必须放在命名空间内.
我的问题是我使用指令,程序集引用(用于模拟文件删除),以及在我的一个测试类中使用的命名空间:
using System;
using System.IO;
using Microsoft.Moles.Framework;
using Microsoft.VisualStudio.TestTools.UnitTesting;
[assembly: MoledType(typeof(System.IO.File))]
namespace MyNamespace
{
//Some Code
}
Run Code Online (Sandbox Code Playgroud)
以上允许测试运行正常 - 但StyleCop抱怨使用指令不在命名空间内.
将usings放在命名空间内会产生"MoledType"无法识别的错误.
将usings和程序集引用放在命名空间中会产生错误
'assembly'不是此声明的有效属性位置.此声明的有效属性位置为"type".此块中的所有属性都将被忽略.
似乎我已经尝试了所有的布局,但无济于事 - 要么解决方案不会构建,嘲弄将无效或StyleCop抱怨!
有没有人知道如何设置这些以便一切都快乐?或者在这种情况下我是否必须忽略StyleCop警告?
我想知道是否可以使用JavaMail连接到Hotmail?
我试过这个,但它不起作用,连接被拒绝了......
String host = "pop3.live.com";
String username = "laqetqetqet@hotmail.com";
String password = "rqetqetq";
Session session;
Store store;
String SSL_FACTORY = "javax.net.ssl.SSLSocketFactory";
Properties pop3Props = new Properties();
pop3Props.setProperty("mail.pop3.socketFactory.class", SSL_FACTORY);
pop3Props.setProperty("mail.pop3.socketFactory.fallback", "false");
pop3Props.setProperty("mail.pop3.port", "995");
pop3Props.setProperty("mail.pop3.socketFactory.port", "995");
URLName url = new URLName("pop3", host, 995, "", username, password);
session = Session.getInstance(pop3Props, null);
store = new POP3SSLStore(session, url);
store.connect();
Run Code Online (Sandbox Code Playgroud)
有人已经成功做到了吗?
java ×3
c# ×2
c++ ×2
arduino ×1
assemblies ×1
c ×1
collections ×1
comparable ×1
comparator ×1
css ×1
email ×1
equals ×1
field ×1
for-loop ×1
foreach ×1
hotmail ×1
jakarta-mail ×1
java-ee ×1
javascript ×1
jsp ×1
namespaces ×1
properties ×1
resharper ×1
struts ×1
struts-1 ×1
stylecop ×1
using ×1
w3c ×1