java mono

作者:原创时间:2022-04-06
文档

java mono是什么,让我们一起了解一下?

Mono是包含0或者1个元素的异步序列。该序列中同样可以包含与Flux相同的三种类型的消息通知,Flux和Mono之间可以进行转换,对一个Flux序列进行计数操作,得到的结果是一个 Mono

如何通过Mono静态方法创建?

1、empty():创建一个不包含任何元素,只发布结束消息的序列。

2、just():可以指定序列中包含的全部元素。创建出来的 Mono序列在发布这些元素之后会自动结束。

3、justOrEmpty():从一个 Optional 对象或可能为 null 的对象中创建 Mono。只有 Optional 对象中包含值或对象不为 null 时,Mono 序列才产生对应的元素。

4、error(Throwable error):创建一个只包含错误消息的序列。

5、never():创建一个不包含任何消息通知的序列。

6、fromCallable()、fromCompletionStage()、fromFuture()、fromRunnable()和 fromSupplier():分别从 Callable、CompletionStage、CompletableFuture、Runnable 和 Supplier 中创建 Mono。

7、delay(Duration duration)和 delayMillis(long duration):创建一个 Mono 序列,在指定的延迟时间之后,产生数字 0 作为唯一值。

实战操作,示例代码如下:

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using Android.App;
using Android.Content;
using Android.OS;
using Android.Runtime;
using Android.Views;
using Android.Widget;
using Java.Util;
namespace AndroidHotelServiceTest
{
[Activity(Label = "My Activity")]
public class ActivityCalendar : Activity
{
protected override Dialog OnCreateDialog(int id)
{
if (id == 1)
{
return new DatePickerDialog(this, new DDialogLisetener(this), 2013, 11, 11);
}
return base.OnCreateDialog(0);
}
protected override void OnCreate(Bundle bundle)
{
base.OnCreate(bundle);
// Create your application here
SetContentView(Resource.Layout.CalendarView);
Button button = FindViewById(Resource.Id.btClose);
button.Click += delegate
{
Intent intent = new Intent();
intent.SetClass(this, typeof(ActivityHotel));
StartActivity(intent);
};
ShowDialog(1);
}
}
public class DDialogLisetener : DatePickerDialog.IOnDateSetListener
{
private Context _context;
public DDialogLisetener(Context context)
{
_context = context;
}
public void OnDateSet(DatePicker view, int year, int monthOfYear, int dayOfMonth)
{
String sDayOfWeek = getDayOfWeek(year, monthOfYear, dayOfMonth);
//Toast.makeText(CreateParty.this, "sdf", Toast.LENGTH_LONG).show();
int m_nYear = year;
int m_nMonth = monthOfYear + 1;
int m_nDay = dayOfMonth;
Toast.MakeText(_context, "ddd", ToastLength.Long).Show();
Toast.MakeText(_context, m_nYear + "年" + m_nMonth + "月" + m_nDay + "日 ", ToastLength.Long).Show();
}
private string getDayOfWeek(int tmpYear, int tmpMonth, int tmpDay)
{
String myWeek = null;
String sYear = tmpYear.ToString();
// 取年的后两位
String sYearTwo = sYear.Substring(sYear.Length - 2);
int y = tmpYear;
int m = tmpMonth + 1;
int c = 20;
int d = tmpDay;
int w = (y + (y / 4) + (c / 4) - 2 * c
+ (26 * (m + 1) / 10) + d - 1) % 7;
switch (w)
{
case 0:
myWeek = "日";
break;
case 1:
myWeek = "一";
break;
case 2:
myWeek = "二";
break;
case 3:
myWeek = "三";
break;
case 4:
myWeek = "四";
break;
case 5:
myWeek = "五";
break;
case 6:
myWeek = "六";
break;
default:
break;
}
return myWeek;
}
public void Dispose()
{
this.Dispose();
}
public IntPtr Handle
{
get { return IntPtr.Zero; }
}
}
}

以上就是小编今天的分享了,希望可以帮助到大家。

显示全文
java mqtt java multiset java mvvm java mybatisplus java namespace java newinstance java nextint java nextline java nexus java nfs java geotools java getbytes java hashcode java hdfs java node类 java notify java nslookup java number java hibernate java htmlunit java monad java module java modelandview java mockito java mmap java mkdir java mina java mian java method java merge java memcpy java matrix java matlab java math.ceil java mapping java malloc java main java logstash java logging java localtime